Compare commits
420 Commits
feature/al
...
hdf5-1_2_2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dad3adba53 | ||
|
|
8ff1200b1e | ||
|
|
5bf6b28eb3 | ||
|
|
894c62f925 | ||
|
|
bbf1e8afca | ||
|
|
3c130073f0 | ||
|
|
800dfe1239 | ||
|
|
931f66eb4b | ||
|
|
261363dc42 | ||
|
|
883dbf2455 | ||
|
|
800ddf8afb | ||
|
|
0f36ffd051 | ||
|
|
6ea3b11837 | ||
|
|
b9a9477ceb | ||
|
|
ba16d6a352 | ||
|
|
a835da5336 | ||
|
|
5dfca0e253 | ||
|
|
5cde2e1499 | ||
|
|
31665106e3 | ||
|
|
0795224bbb | ||
|
|
59934304f0 | ||
|
|
5d097e596f | ||
|
|
833a8db230 | ||
|
|
804a2e3850 | ||
|
|
4d9ed8cffe | ||
|
|
59128b09d8 | ||
|
|
3c6e451973 | ||
|
|
9d45e32828 | ||
|
|
1665acca64 | ||
|
|
9083a95ab3 | ||
|
|
49b37bc530 | ||
|
|
3553752b06 | ||
|
|
c4411531bd | ||
|
|
6e11942370 | ||
|
|
2fdb5c66e6 | ||
|
|
f89708ca6b | ||
|
|
d617baa222 | ||
|
|
2522bfcecd | ||
|
|
836be0cfec | ||
|
|
12e9676504 | ||
|
|
73ef4b96db | ||
|
|
798760fe15 | ||
|
|
9d25162448 | ||
|
|
c8a797e284 | ||
|
|
8e8550af43 | ||
|
|
837cd6e477 | ||
|
|
1a00f9fdb0 | ||
|
|
62bbf9197b | ||
|
|
14c582131d | ||
|
|
bb527854d9 | ||
|
|
b953406a86 | ||
|
|
e37d221818 | ||
|
|
1cf1e4f5a1 | ||
|
|
51d2cdb1d0 | ||
|
|
23118eb6b6 | ||
|
|
6daa7625b3 | ||
|
|
4d1ff63f4a | ||
|
|
6dae18b993 | ||
|
|
2acc920eef | ||
|
|
f84e5cbb84 | ||
|
|
7398f8c885 | ||
|
|
6ff669ade2 | ||
|
|
a8bc29e611 | ||
|
|
c4426337ff | ||
|
|
de8cefbe98 | ||
|
|
e37be3b36a | ||
|
|
ed4403336c | ||
|
|
a9a0190c1f | ||
|
|
3b121997e0 | ||
|
|
d2b108ea23 | ||
|
|
b75fee618e | ||
|
|
71fb1d5ff0 | ||
|
|
7659424cc8 | ||
|
|
4ee39d737c | ||
|
|
8130eaff8f | ||
|
|
71b68698a8 | ||
|
|
5744c37769 | ||
|
|
c9c9bf881b | ||
|
|
f7edcdc98f | ||
|
|
192cf585d0 | ||
|
|
cb783c37a3 | ||
|
|
be52f2bc73 | ||
|
|
10ccf05000 | ||
|
|
61cb182481 | ||
|
|
625439cc9f | ||
|
|
5aac77ae03 | ||
|
|
807864b6ce | ||
|
|
ee7fb27f9b | ||
|
|
a43b8cd780 | ||
|
|
60a2da988d | ||
|
|
1560984302 | ||
|
|
fecde2d176 | ||
|
|
ffd07d8f2d | ||
|
|
1ed6c1404b | ||
|
|
45c453d75c | ||
|
|
4bd2ae82f6 | ||
|
|
3bd8b7b023 | ||
|
|
5e5aaca007 | ||
|
|
23c4c575d4 | ||
|
|
f2b2f98739 | ||
|
|
4995633524 | ||
|
|
9da2236284 | ||
|
|
68039896e7 | ||
|
|
3f99e35c0a | ||
|
|
2d83c652d5 | ||
|
|
bcfdc623e0 | ||
|
|
174ac7c316 | ||
|
|
18ed617aa9 | ||
|
|
89c69c1036 | ||
|
|
aab3746dca | ||
|
|
ec7a89ce95 | ||
|
|
337ac48c30 | ||
|
|
101059c31f | ||
|
|
f06026d9c7 | ||
|
|
18f506c636 | ||
|
|
1d12b5b4bc | ||
|
|
692202a802 | ||
|
|
7749127d80 | ||
|
|
74f1fc208d | ||
|
|
184a091c3a | ||
|
|
3c1776bb6b | ||
|
|
c6bd672556 | ||
|
|
609201adf3 | ||
|
|
d72495873b | ||
|
|
43b0506f62 | ||
|
|
f8c37d10e2 | ||
|
|
66d9f4326b | ||
|
|
c30f23d573 | ||
|
|
1266a2b5e8 | ||
|
|
c892e2a7b9 | ||
|
|
807bf55e48 | ||
|
|
dd6986420d | ||
|
|
64ea85f9b8 | ||
|
|
34202e19b2 | ||
|
|
30f8818af4 | ||
|
|
cd8b614f83 | ||
|
|
538db3d9b7 | ||
|
|
eedec840ff | ||
|
|
a5a0657220 | ||
|
|
66278363c4 | ||
|
|
7a9e1b6ed9 | ||
|
|
cfd07017e2 | ||
|
|
08d7016ab0 | ||
|
|
4e4125b49a | ||
|
|
77b9fa488e | ||
|
|
e2f1274922 | ||
|
|
e13a5f7747 | ||
|
|
5cef4102cd | ||
|
|
e4579cb725 | ||
|
|
6039064e30 | ||
|
|
e713b35a05 | ||
|
|
4ee7f4c17b | ||
|
|
03cfc650ae | ||
|
|
8e7d389194 | ||
|
|
b91b42eb70 | ||
|
|
11164f5006 | ||
|
|
ddc4a7f061 | ||
|
|
5dabd38529 | ||
|
|
080d11b2ad | ||
|
|
b925cf014d | ||
|
|
a8dcaf9b21 | ||
|
|
4ef9ffba8a | ||
|
|
2d8919bf73 | ||
|
|
3b321da550 | ||
|
|
aaa28b3af6 | ||
|
|
a1fa7989a3 | ||
|
|
4618e1f1fd | ||
|
|
70e48f28e5 | ||
|
|
14a07c3f3e | ||
|
|
34ee6f291f | ||
|
|
62058bd123 | ||
|
|
3852f53432 | ||
|
|
fd441eff15 | ||
|
|
2225575b58 | ||
|
|
f0c798fe15 | ||
|
|
d8939f458f | ||
|
|
45d7af1ab5 | ||
|
|
e6da7868e5 | ||
|
|
4e2b98c19f | ||
|
|
84cefb6311 | ||
|
|
efe70a0ee6 | ||
|
|
d5a38ca39d | ||
|
|
32fef032e7 | ||
|
|
20ca60f32b | ||
|
|
ec4958bc11 | ||
|
|
824ee2edd2 | ||
|
|
f4687bcf61 | ||
|
|
5f1b5a48fc | ||
|
|
e1eaeac4b4 | ||
|
|
13499b289b | ||
|
|
4d42626054 | ||
|
|
99a30e1e60 | ||
|
|
0cba6a50e0 | ||
|
|
a8f2f173e2 | ||
|
|
3624c090c2 | ||
|
|
6d1910d0b5 | ||
|
|
d174e73c3f | ||
|
|
06e0e761de | ||
|
|
3c073e1a60 | ||
|
|
01102e10e4 | ||
|
|
77ed8d5efb | ||
|
|
0b1dd95190 | ||
|
|
de5230d94c | ||
|
|
45ebe9c661 | ||
|
|
6c5d5aa9e9 | ||
|
|
d85fe56bf4 | ||
|
|
79a3cec4bd | ||
|
|
de91bbab6d | ||
|
|
493af3568d | ||
|
|
e9d23dd377 | ||
|
|
d2989de850 | ||
|
|
bc69458a6d | ||
|
|
1dc7260d8a | ||
|
|
1be0e51101 | ||
|
|
b39406d969 | ||
|
|
00e5ea26b6 | ||
|
|
e4dc804d30 | ||
|
|
d0505ef917 | ||
|
|
a1e336f860 | ||
|
|
1aaa020c4c | ||
|
|
36c33298f0 | ||
|
|
032537f13a | ||
|
|
42f49894fc | ||
|
|
fea8f05ec9 | ||
|
|
c94a6b3b11 | ||
|
|
b0b8ffb720 | ||
|
|
eea5f9cb3f | ||
|
|
29a4de7786 | ||
|
|
20f2faee42 | ||
|
|
e83cdf402f | ||
|
|
767ac8d994 | ||
|
|
f725d4d7f7 | ||
|
|
5fd0eb61c8 | ||
|
|
c276782ca3 | ||
|
|
7e241b3dd0 | ||
|
|
b2584c5cc1 | ||
|
|
f097a45ad4 | ||
|
|
3f365c17af | ||
|
|
b6ea860b0f | ||
|
|
ff3926a2d7 | ||
|
|
fce67a5a0a | ||
|
|
932526243d | ||
|
|
f11c7e8842 | ||
|
|
297b9f0b59 | ||
|
|
a23812a6d0 | ||
|
|
3993c1a685 | ||
|
|
e624c7e728 | ||
|
|
4a42e6e12e | ||
|
|
90ab4c42b7 | ||
|
|
044a84e972 | ||
|
|
db3fa8951d | ||
|
|
ebd8bee9d7 | ||
|
|
bcf445038d | ||
|
|
4ad0afab45 | ||
|
|
7255af7224 | ||
|
|
468bc7b351 | ||
|
|
e20b3e4d2b | ||
|
|
5a84822569 | ||
|
|
60ded69d6c | ||
|
|
65e484b19e | ||
|
|
2eabae2d3a | ||
|
|
39a012fb45 | ||
|
|
8f6e04cd2d | ||
|
|
cba03198d1 | ||
|
|
af71874ae0 | ||
|
|
e115255383 | ||
|
|
e3877e5529 | ||
|
|
fb1c2856c9 | ||
|
|
3c2fc7a967 | ||
|
|
59b430fbdd | ||
|
|
1fac8bfab3 | ||
|
|
e5ff89e5db | ||
|
|
7dc4fa3f5e | ||
|
|
b3a4a363e9 | ||
|
|
66b0cbed3b | ||
|
|
c2306a366b | ||
|
|
2c3783004c | ||
|
|
636ab41cf0 | ||
|
|
538b76ea64 | ||
|
|
1772537cf3 | ||
|
|
06871f48c0 | ||
|
|
a65d75525f | ||
|
|
a5ae4827d0 | ||
|
|
28415a8e06 | ||
|
|
6ffa54231a | ||
|
|
d6acdd05ba | ||
|
|
a65e21032f | ||
|
|
cfd9daf743 | ||
|
|
d2a3c6afe0 | ||
|
|
75c57d6ec0 | ||
|
|
6f84d4d2c5 | ||
|
|
f724f3da34 | ||
|
|
cb6286627c | ||
|
|
07e54e3ec4 | ||
|
|
8c0a91af90 | ||
|
|
5f28e7a7ac | ||
|
|
e6c1d392e3 | ||
|
|
7f885e42ac | ||
|
|
6d81d3e643 | ||
|
|
8210433773 | ||
|
|
1c8a7fbd04 | ||
|
|
ab1a73dd3a | ||
|
|
36583b79eb | ||
|
|
0eb61a5689 | ||
|
|
6e4bbdfd57 | ||
|
|
bb3e313419 | ||
|
|
ffaff7a404 | ||
|
|
0794a557e5 | ||
|
|
26d4fc8ee7 | ||
|
|
f1a3416a9c | ||
|
|
c65ab6e0da | ||
|
|
32a8bfe491 | ||
|
|
1f24212ef6 | ||
|
|
5b7ec7e586 | ||
|
|
b6c7eda6b0 | ||
|
|
8d57b54148 | ||
|
|
3393ca8f56 | ||
|
|
57a3b563a8 | ||
|
|
e7a89d48ab | ||
|
|
22a912c860 | ||
|
|
dd6bb6f4eb | ||
|
|
2e7251d1c5 | ||
|
|
98a436fab0 | ||
|
|
72cd51737c | ||
|
|
67c3ca2fbe | ||
|
|
2c224df36d | ||
|
|
9856f7259c | ||
|
|
b7fb4a4e07 | ||
|
|
58c2ef0ded | ||
|
|
abaa7f6e9a | ||
|
|
7160928262 | ||
|
|
cff2a39a5e | ||
|
|
b12caa0e14 | ||
|
|
e8ea992779 | ||
|
|
2addc89f28 | ||
|
|
f813407a7b | ||
|
|
9ae1e4a593 | ||
|
|
8ad6cf32ac | ||
|
|
80d964e6cf | ||
|
|
48b014bc9a | ||
|
|
8cffd507bf | ||
|
|
088a7b9c52 | ||
|
|
64a989603d | ||
|
|
e7c0ca229f | ||
|
|
8d2f82f859 | ||
|
|
91e75701b4 | ||
|
|
3229952348 | ||
|
|
31431c076f | ||
|
|
9cd7681d3a | ||
|
|
0070553086 | ||
|
|
d6d6047bc4 | ||
|
|
749a61c320 | ||
|
|
fc26a66ed0 | ||
|
|
e1054dd631 | ||
|
|
3b12d2cc9d | ||
|
|
5eb306c5dd | ||
|
|
cb010d75da | ||
|
|
fbbb05510c | ||
|
|
ebc87c1357 | ||
|
|
b1fb467f2f | ||
|
|
fa4aeeca74 | ||
|
|
b3491fd4d1 | ||
|
|
b872c241d3 | ||
|
|
40fc03de3f | ||
|
|
8d299cf834 | ||
|
|
07ca255ce3 | ||
|
|
61763c324f | ||
|
|
580171f642 | ||
|
|
80c105b802 | ||
|
|
229cac82de | ||
|
|
72810358b2 | ||
|
|
2f3da042cf | ||
|
|
0a8859d589 | ||
|
|
7178b5c35d | ||
|
|
a4f7ae28a7 | ||
|
|
8628270b03 | ||
|
|
8e32b16821 | ||
|
|
8d3b19d8b1 | ||
|
|
188af9405a | ||
|
|
11b4b23d81 | ||
|
|
4aafdc1675 | ||
|
|
185b1d1cd1 | ||
|
|
443738bded | ||
|
|
be3eea64e3 | ||
|
|
cccca61d76 | ||
|
|
ed13f6a117 | ||
|
|
782d1ccca2 | ||
|
|
abdcb57fdf | ||
|
|
2fb4a69253 | ||
|
|
0eddb58a27 | ||
|
|
0e4dda2a79 | ||
|
|
4f8c215385 | ||
|
|
0c2771850c | ||
|
|
75680a0bda | ||
|
|
1639e28b46 | ||
|
|
8c28140832 | ||
|
|
f65d37d9c4 | ||
|
|
a5aee55da1 | ||
|
|
7378acff83 | ||
|
|
25cea5bba6 | ||
|
|
a98b9a2261 | ||
|
|
5dde4f189a | ||
|
|
68eb01301a | ||
|
|
5e8041533a | ||
|
|
f7a246beff | ||
|
|
cf386a9380 | ||
|
|
b8f45e3928 | ||
|
|
5b440e7661 | ||
|
|
9a2028f254 | ||
|
|
7f7aa9f1dd | ||
|
|
2178b8bdd4 | ||
|
|
bb1dab9333 | ||
|
|
d1a7b058e4 | ||
|
|
e95f56f325 | ||
|
|
99c3c28d60 | ||
|
|
64b1897a16 | ||
|
|
a4667adeb7 | ||
|
|
f8b952010c | ||
|
|
892963e190 | ||
|
|
774fa582ea |
52
COPYING
@@ -1,22 +1,24 @@
|
||||
Copyright Notice and Statement for NCSA Hierarchical Data Format (HDF)
|
||||
Software Library and Utilities
|
||||
|
||||
NCSA Hierarchical Data Format (HDF) Software Library and Utilities Copyright
|
||||
1998 the Board of Trustees of the University of Illinois. All rights reserved.
|
||||
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
Copyright 1998, 1999, 2000 by the Board of Trustees of the University of
|
||||
Illinois. All rights reserved.
|
||||
|
||||
Contributors: National Center for Supercomputing Applications (NCSA) at the
|
||||
University of Illinois, Lawrence Livermore Nat'l Laboratory (LLNL), Sandia
|
||||
National Laboratories (SNL), Los Alamos National Laboratory (LANL).
|
||||
University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore
|
||||
National Laboratory (LLNL), Sandia National Laboratories (SNL), Los Alamos
|
||||
National Laboratory (LANL), Jean-loup Gailly and Mark Adler (gzip library).
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted for any purpose (including commercial purposes)
|
||||
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.
|
||||
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
|
||||
this list of conditions, and the following disclaimer in the documentation
|
||||
and/or materials provided with the distribution.
|
||||
|
||||
3. In addition, redistributions of modified forms of the source or binary
|
||||
@@ -24,9 +26,9 @@ provided that the following conditions are met:
|
||||
changed and the date of the change.
|
||||
|
||||
4. All publications or advertising materials mentioning features or use of
|
||||
this software must acknowledge that it was developed by the National
|
||||
Center for Supercomputing Applications at the University of Illinois, and
|
||||
credit the Contributors.
|
||||
this software are asked, but not required, to acknowledge that it was
|
||||
developed by the National Center for Supercomputing Applications at the
|
||||
University of Illinois at Urbana-Champaign and to credit the contributors.
|
||||
|
||||
5. Neither the name of the University nor the names of the Contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
@@ -37,3 +39,35 @@ provided that the following conditions are met:
|
||||
shall the University or the Contributors be liable for any damages
|
||||
suffered by the users arising out of the use of this software, even if
|
||||
advised of the possibility of such damage.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
Portions of HDF5 were developed with support from the University of
|
||||
California, Lawrence Livermore National Laboratory (UC LLNL).
|
||||
The following statement applies to those portions of the product
|
||||
and must be retained in any redistribution of source code, binaries,
|
||||
documentation, and/or accompanying materials:
|
||||
|
||||
This work was partially produced at the University of California,
|
||||
Lawrence Livermore National Laboratory (UC LLNL) under contract no.
|
||||
W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
|
||||
(DOE) and The Regents of the University of California (University)
|
||||
for the operation of UC LLNL.
|
||||
|
||||
DISCLAIMER:
|
||||
This work was prepared as an account of work sponsored by an agency
|
||||
of the United States Government. Neither the United States
|
||||
Government nor the University of California nor any of their
|
||||
employees, makes any warranty, express or implied, or assumes any
|
||||
liability or responsibility for the accuracy, completeness, or
|
||||
usefulness of any information, apparatus, product, or process
|
||||
disclosed, or represents that its use would not infringe privately-
|
||||
owned rights. Reference herein to any specific commercial products,
|
||||
process, or service by trade name, trademark, manufacturer, or
|
||||
otherwise, does not necessarily constitute or imply its endorsement,
|
||||
recommendation, or favoring by the United States Government or the
|
||||
University of California. The views and opinions of authors
|
||||
expressed herein do not necessarily state or reflect those of the
|
||||
United States Government or the University of California, and shall
|
||||
not be used for advertising or product endorsement purposes.
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
|
||||
847
HISTORY
Normal file
@@ -0,0 +1,847 @@
|
||||
HDF5 HISTORY
|
||||
============
|
||||
|
||||
CONTENTS
|
||||
I. Release Information for hdf5-1.2.1
|
||||
II. Release Information for hdf5-1.2.0
|
||||
A. Platforms Supported
|
||||
B. Known Problems
|
||||
C. Changes Since Version 1.0.1
|
||||
1. Documentation
|
||||
2. Configuration
|
||||
3. Debugging
|
||||
4. Datatypes
|
||||
5. Dataspaces
|
||||
6. Persistent Pointers
|
||||
7. Parallel Support
|
||||
8. New API Functions
|
||||
a. Property List Interface
|
||||
b. Dataset Interface
|
||||
c. Dataspace Interface
|
||||
d. Datatype Interface
|
||||
e. Identifier Interface
|
||||
f. Reference Interface
|
||||
g. Ragged Arrays
|
||||
9. Tools
|
||||
|
||||
III. Changes Since the Version 1.0.0 Release
|
||||
|
||||
IV. Changes Since the Beta 1.0.0 Release
|
||||
|
||||
V. Changes Since the Second Alpha 1.0.0 Release
|
||||
|
||||
VI. Changes Since the First Alpha 1.0.0 Release
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
I. Release Information for hdf5-1.2.1
|
||||
|
||||
Bug fixes since HDF5-1.2.0
|
||||
==========================
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
* The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
|
||||
with other libraries/applications that use GNU autoconf.
|
||||
* Configuration for parallel HDF5 was improved. Configure now attempts to
|
||||
link with libmpi.a and/or libmpio.a as the MPI libraries by default.
|
||||
It also uses "mpirun" to launch MPI tests by default. It tests to
|
||||
link MPIO routines during the configuration stage, rather than failing
|
||||
later as before. One can just do "./configure --enable-parallel"
|
||||
if the MPI library is in the system library.
|
||||
|
||||
Library
|
||||
-------
|
||||
|
||||
* Error was fixed which was not allowing dataset region references to have
|
||||
their regions retrieved correctly.
|
||||
* Added internal free-lists to reduce memory required by the library and
|
||||
H5garbage_collect API function
|
||||
* Fixed error in H5Giterate which was not updating the "index" parameter
|
||||
correctly.
|
||||
* Fixed error in hyperslab iteration which was not walking through the
|
||||
correct sequence of array elements if hyperslabs were staggered in a
|
||||
certain pattern
|
||||
* Fixed several other problems in hyperslab iteration code.
|
||||
|
||||
Tests
|
||||
------
|
||||
* Added additional tests for group and attribute iteration.
|
||||
* Added additional test for staggered hyperslab iteration.
|
||||
* Added additional test for random 5-D hyperslab selection.
|
||||
|
||||
Tools
|
||||
------
|
||||
|
||||
* Added an option, -V, to show the version information of h5dump.
|
||||
* Fixed a core dumping bug of h5toh4 when executed on platforms like
|
||||
TFLOPS.
|
||||
* The test script for h5toh4 used to not able to detect the hdp
|
||||
dumper command was not valid. It now detects and reports the
|
||||
failure of hdp execution.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
* User's Guide and Reference Manual were updated.
|
||||
See doc/html/PSandPDF/index.html for more details.
|
||||
|
||||
|
||||
Platforms Tested:
|
||||
================
|
||||
Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
|
||||
|
||||
|
||||
AIX 4.3.2 (IBM SP) 3.6.6
|
||||
Cray T3E 2.0.4.81 cc 6.3.0.1
|
||||
mpt.1.3
|
||||
FreeBSD 3.3-STABLE gcc 2.95.2
|
||||
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
||||
IRIX 6.5 MIPSpro cc 7.30
|
||||
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
||||
mpt.1.3 (SGI MPI 3.2.0.0)
|
||||
|
||||
Linux 2.2.10 SuSE egcs-2.91.66 configured with
|
||||
(i686-pc-linux-gnu) --disable-hsizet
|
||||
mpich-1.2.0 egcs-2.91.66 19990314/Linux
|
||||
|
||||
OSF1 V4.0 DEC-V5.2-040
|
||||
SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
|
||||
SunOS 5.7 cc WorkShop Compilers 5.0
|
||||
TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
|
||||
mpich-1.1.2 with local changes
|
||||
Windows NT4.0 sp5 MSVC++ 6.0
|
||||
|
||||
Known Problems:
|
||||
==============
|
||||
|
||||
o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
|
||||
fail if library is compiled using optimization of any level.
|
||||
|
||||
|
||||
|
||||
II. Release Information for hdf5-1.2.0
|
||||
|
||||
A. Platforms Supported
|
||||
-------------------
|
||||
|
||||
Operating systems listed below with compiler information and MPI library, if
|
||||
applicable, are systems that HDF5 1.2.0 was tested on.
|
||||
|
||||
Compiler & libraries
|
||||
Platform Information Comment
|
||||
-------- ---------- --------
|
||||
|
||||
AIX 4.3.2 (IBM SP) 3.6.6
|
||||
|
||||
Cray J90 10.0.0.6 cc 6.3.0.0
|
||||
|
||||
Cray T3E 2.0.4.61 cc 6.2.1.0
|
||||
mpt.1.3
|
||||
|
||||
FreeBSD 3.2 gcc 2.95.1
|
||||
|
||||
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
||||
gcc 2.8.1
|
||||
|
||||
IRIX 6.5 MIPSpro cc 7.30
|
||||
|
||||
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
||||
mpt.1.3 (SGI MPI 3.2.0.0)
|
||||
|
||||
Linux 2.2.10 egcs-2.91.66 configured with
|
||||
--disable-hsizet
|
||||
lbraries: glibc2
|
||||
|
||||
OSF1 V4.0 DEC-V5.2-040
|
||||
|
||||
SunOS 5.6 cc WorkShop Compilers 4.2
|
||||
no optimization
|
||||
gcc 2.8.1
|
||||
|
||||
SunOS 5.7 cc WorkShop Compilers 5.0
|
||||
gcc 2.8.1
|
||||
|
||||
TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
|
||||
mpich-1.1.2 with local changes
|
||||
|
||||
Windows NT4.0 intel MSVC++ 5.0 and 6.0
|
||||
|
||||
Windows NT alpha 4.0 MSVC++ 5.0
|
||||
|
||||
Windows 98 MSVC++ 5.0
|
||||
|
||||
|
||||
B. Known Problems
|
||||
--------------
|
||||
|
||||
* NT alpha 4.0
|
||||
Dumper utiliy h5dump fails if linked with DLL.
|
||||
|
||||
* SunOS 5.6 with C WorkShop Compilers 4.2
|
||||
Hyperslab selections will fail if library is compiled using optimization
|
||||
of any level.
|
||||
|
||||
|
||||
C. Changes Since Version 1.0.1
|
||||
---------------------------
|
||||
|
||||
1. Documentation
|
||||
-------------
|
||||
|
||||
* More examples
|
||||
|
||||
* Updated user guide, reference manual, and format specification.
|
||||
|
||||
* Self-contained documentation for installations isolated from the
|
||||
Internet.
|
||||
|
||||
* HDF5 Tutorial was added to the documentation
|
||||
|
||||
2. Configuration
|
||||
-------------
|
||||
|
||||
* Better detection and support for MPI-IO.
|
||||
|
||||
* Recognition of compilers with known code generation problems.
|
||||
|
||||
* Support for various compilers on a single architecture (e.g., the
|
||||
native compiler and the GNU compilers).
|
||||
|
||||
* Ability to build from read-only media and with different compilers
|
||||
and/or options concurrently.
|
||||
|
||||
* Added a libhdf5.settings file which summarizes the configuration
|
||||
information and is installed along with the library.
|
||||
|
||||
* Builds a shared library on most systems that support it.
|
||||
|
||||
* Support for Cray T3E, J90 and Windows/NT.
|
||||
|
||||
3. Debugging
|
||||
---------
|
||||
|
||||
* Improved control and redirection of debugging and tracing messages.
|
||||
|
||||
4. Datatypes
|
||||
---------
|
||||
|
||||
* Optimizations to compound datatype conversions and I/O operations.
|
||||
|
||||
* Added nearly 100 optimized conversion functions for native datatypes
|
||||
including support for non-aligned data.
|
||||
|
||||
* Added support for bitfield, opaque, and enumeration types.
|
||||
|
||||
* Added distinctions between signed and unsigned char types to the
|
||||
list of predefined native hdf5 datatypes.
|
||||
|
||||
* Added HDF5 type definitions for C9x types like int32_t.
|
||||
|
||||
* Application-defined type conversion functions can handle non-packed
|
||||
data.
|
||||
|
||||
* Changed the H5Tunregister() function to use wildcards when matching
|
||||
conversion functions. H5Tregister_hard() and H5Tregister_soft()
|
||||
were combined into H5Tregister().
|
||||
|
||||
* Support for variable-length datatypes (arrays of varying length per
|
||||
dataset element). Variable length strings currently supported only
|
||||
as variable length arrays of 1-byte integers.
|
||||
|
||||
5. Dataspaces
|
||||
----------
|
||||
|
||||
* New query functions for selections.
|
||||
|
||||
* I/O operations bypass the stripmining loop and go directly to
|
||||
storage for certain contiguous selections in the absense of type
|
||||
conversions. In other cases the stripmining buffers are used more
|
||||
effectively.
|
||||
|
||||
* Reduced the number of I/O requests under certain circumstances,
|
||||
improving performance on systems with high I/O latency.
|
||||
|
||||
6. Persistent Pointers
|
||||
-------------------
|
||||
|
||||
* Object (serial and parallel) and dataset region (serial only)
|
||||
references are implemented.
|
||||
|
||||
7. Parallel Support
|
||||
----------------
|
||||
|
||||
* Improved parallel I/O performance.
|
||||
|
||||
* Supported new platforms: Cray T3E, Linux, DEC Cluster.
|
||||
|
||||
* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
|
||||
|
||||
* Improved the algorithm that translates an HDF5 hyperslab selection
|
||||
into an MPI type for better collective I/O performance.
|
||||
|
||||
8. New API functions
|
||||
-----------------
|
||||
|
||||
a. Property List Interface:
|
||||
------------------------
|
||||
|
||||
H5Pset_xfer - set data transfer properties
|
||||
H5Pset_preserve - set dataset transfer property list status
|
||||
H5Pget_preserve - get dataset transfer property list status
|
||||
H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
|
||||
H5Pget_hyper_cache - returns information regarding the caching of
|
||||
hyperslab blocks during I/O
|
||||
H5Pget_btree_ratios - sets B-tree split ratios for a dataset
|
||||
transfer property list
|
||||
H5Pset_btree_ratios - gets B-tree split ratios for a dataset
|
||||
transfer property list
|
||||
H5Pset_vlen_mem_manager - sets the memory manager for variable-length
|
||||
datatype allocation
|
||||
H5Pget_vlen_mem_manager - sets the memory manager for variable-length
|
||||
datatype allocation
|
||||
|
||||
b. Dataset Interface:
|
||||
------------------
|
||||
|
||||
H5Diterate - iterate over all selected elements in a dataspace
|
||||
H5Dget_storage_size - return the amount of storage required for a dataset
|
||||
H5Dvlen_reclaim - reclaim VL datatype memory buffers
|
||||
|
||||
c. Dataspace Interface:
|
||||
--------------------
|
||||
H5Sget_select_hyper_nblocks - get number of hyperslab blocks
|
||||
H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
|
||||
currently selected
|
||||
H5Sget_select_elem_npoints - get the number of element points
|
||||
in the current selection
|
||||
H5Sget_select_elem_pointlist - get the list of element points
|
||||
currently selected
|
||||
H5Sget_select_bounds - gets the bounding box containing
|
||||
the current selection
|
||||
|
||||
d. Datatype Interface:
|
||||
-------------------
|
||||
H5Tget_super - return the base datatype from which a
|
||||
datatype is derived
|
||||
H5Tvlen_create - creates a new variable-length dataype
|
||||
H5Tenum_create - creates a new enumeration datatype
|
||||
H5Tenum_insert - inserts a new enumeration datatype member
|
||||
H5Tenum_nameof - returns the symbol name corresponding to a
|
||||
specified member of an enumeration datatype
|
||||
H5Tvalueof - return the value corresponding to a
|
||||
specified member of an enumeration datatype
|
||||
H5Tget_member_value - return the value of an enumeration datatype member
|
||||
H5Tset_tag - tags an opaque datatype
|
||||
H5Tget_tag - gets the tag associated with an opaque datatype
|
||||
|
||||
e. Identifier Interface:
|
||||
---------------------
|
||||
H5Iget_type - retrieve the type of an object
|
||||
|
||||
f. Reference Interface:
|
||||
--------------------
|
||||
H5Rcreate - creates a reference
|
||||
H5Rdereference - open the HDF5 object referenced
|
||||
H5Rget_region - retrieve a dataspace with the specified region selected
|
||||
H5Rget_object_type - retrieve the type of object that an
|
||||
object reference points to
|
||||
|
||||
g. Ragged Arrays (alpha) (names of those API functions were changed):
|
||||
------------------------------------------------------------------
|
||||
H5RAcreate - create a new ragged array (old name was H5Rcreate)
|
||||
H5RAopen - open an existing array (old name was H5Ropen)
|
||||
H5RAclose - close a ragged array (old name was H5Rclose)
|
||||
H5RAwrite - write to an array (old name was H5Rwrite)
|
||||
H5RAread - read from an array (old name was H5Rread)
|
||||
|
||||
|
||||
9. Tools
|
||||
-----
|
||||
|
||||
* Enhancements to the h5ls tool including the ability to list objects
|
||||
from more than one file, to display raw hexadecimal data, to
|
||||
show file addresses for raw data, to format output more reasonably,
|
||||
to show object attributes, and to perform a recursive listing,
|
||||
|
||||
* Enhancements to h5dump: support new data types added since previous
|
||||
versions.
|
||||
|
||||
* h5toh4: An hdf5 to hdf4 converter.
|
||||
|
||||
|
||||
|
||||
III. Changes Since The Version 1.0.0 Release
|
||||
|
||||
* [Improvement]: configure sets up the Makefile in the parallel tests
|
||||
suit (testpar/) correctly.
|
||||
|
||||
* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
|
||||
It now configures correctly for all IRIX 6.x version.
|
||||
|
||||
* Released Parallel HDF5
|
||||
|
||||
Supported Features:
|
||||
------------------
|
||||
|
||||
HDF5 files are accessed according to the communicator and INFO
|
||||
object defined in the property list set by H5Pset_mpi.
|
||||
|
||||
Independent read and write accesses to fixed and extendable dimension
|
||||
datasets.
|
||||
|
||||
Collective read and write accesses to fixed dimension datasets.
|
||||
|
||||
Supported Platforms:
|
||||
-------------------
|
||||
|
||||
Intel Red
|
||||
IBM SP2
|
||||
SGI Origin 2000
|
||||
|
||||
Changes In This Release:
|
||||
-----------------------
|
||||
|
||||
o Support of Access to Extendable Dimension Datasets.
|
||||
Extendable dimension datasets must use chunked storage methods.
|
||||
A new function, H5Dextend, is created to extend the current
|
||||
dimensions of a dataset. The current release requires the
|
||||
MPI application must make a collective call to extend the
|
||||
dimensions of an extendable dataset before writing to the
|
||||
newly extended area. (The serial does not require the
|
||||
call of H5Dextend. The dimensions of an extendable
|
||||
dataset is increased when data is written to beyond the
|
||||
current dimensions but within the maximum dimensions.)
|
||||
The required collective call of H5Dextend may be relaxed
|
||||
in future release.
|
||||
|
||||
This release only support independent read and write accesses
|
||||
to extendable datasets. Collective accesses to extendable
|
||||
datasets will be implemented in future releases.
|
||||
|
||||
o Collective access to fixed dimension datasets.
|
||||
Collective access to a dataset can be specified in the transfer
|
||||
property list argument in H5Dread and H5Dwrite. The current
|
||||
release supports collective access to fixed dimension datasets.
|
||||
Collective access to extendable datasets will be implemented in
|
||||
future releases.
|
||||
|
||||
o HDF5 files are opened according to Communicator and INFO object.
|
||||
H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
|
||||
and pass them to the corresponding MPIO open file calls for
|
||||
processing.
|
||||
|
||||
o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
|
||||
systems. It uses the ROMIO version of MPIO interface for parallel
|
||||
I/O supports.
|
||||
|
||||
|
||||
|
||||
IV. Changes Since The Beta 1.0.0 Release
|
||||
|
||||
* Added fill values for datasets. For contiguous datasets fill value
|
||||
performance may be quite poor since the fill value is written to the
|
||||
entire dataset when the dataset is created. This will be remedied
|
||||
in a future version. Chunked datasets using fill values do not
|
||||
incur any additional overhead. See H5Pset_fill_value().
|
||||
|
||||
* Multiple hdf5 files can be "mounted" on one another to create a
|
||||
larger virtual file. See H5Fmount().
|
||||
|
||||
* Object names can be removed or changed but objects are never
|
||||
actually removed from the file yet. See H5Gunlink() and H5Gmove().
|
||||
|
||||
* Added a tuning mechanism for B-trees to insure that sequential
|
||||
writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
|
||||
|
||||
* Various optimizations and bug fixes.
|
||||
|
||||
|
||||
V. Changes Since The Second Alpha 1.0.0 Release
|
||||
|
||||
* Strided hyperslab selections in dataspaces now working.
|
||||
|
||||
* The compression API has been replaced with a more general filter
|
||||
API. See doc/html/Filters.html for details.
|
||||
|
||||
* Alpha-quality 2d ragged arrays are implemented as a layer built on
|
||||
top of other hdf5 objects. The API and storage format will almost
|
||||
certainly change.
|
||||
|
||||
* More debugging support including API tracing. See Debugging.html.
|
||||
|
||||
* C and Fortran style 8-bit fixed-length character string types are
|
||||
supported with space or null padding or null termination and
|
||||
translations between them.
|
||||
|
||||
* Added function H5Fflush() to write all cached data immediately to
|
||||
the file.
|
||||
|
||||
* Datasets maintain a modification time which can be retrieved with
|
||||
H5Gstat().
|
||||
|
||||
* The h5ls tool can display much more information, including all the
|
||||
values of a dataset.
|
||||
|
||||
|
||||
VI. Changes Since The First Alpha 1.0.0 Release
|
||||
|
||||
* Two of the packages have been renamed. The data space API has been
|
||||
renamed from `H5P' to `H5S' and the property list (template) API has
|
||||
been renamed from `H5C' to `H5P'.
|
||||
|
||||
* The new attribute API `H5A' has been added. An attribute is a small
|
||||
dataset which can be attached to some other object (for instance, a
|
||||
4x4 transformation matrix attached to a 3-dimensional dataset, or an
|
||||
English abstract attached to a group).
|
||||
|
||||
* The error handling API `H5E' has been completed. By default, when an
|
||||
API function returns failure an error stack is displayed on the
|
||||
standard error stream. The H5Eset_auto() controls the automatic
|
||||
printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
|
||||
disable the automatic error printing.
|
||||
|
||||
* Support for large files and datasets (>2GB) has been added. There
|
||||
is an html document that describes how it works. Some of the types
|
||||
for function arguments have changed to support this: all arguments
|
||||
pertaining to sizes of memory objects are `size_t' and all arguments
|
||||
pertaining to file sizes are `hsize_t'.
|
||||
|
||||
* More data type conversions have been added although none of them are
|
||||
fine tuned for performance. There are new converters from integer
|
||||
to integer and float to float, but not between integers and floating
|
||||
points. A bug has been fixed in the converter between compound
|
||||
types.
|
||||
|
||||
* The numbered types have been removed from the API: int8, uint8,
|
||||
int16, uint16, int32, uint32, int64, uint64, float32, and float64.
|
||||
Use standard C types instead. Similarly, the numbered types were
|
||||
removed from the H5T_NATIVE_* architecture; use unnumbered types
|
||||
which correspond to the standard C types like H5T_NATIVE_INT.
|
||||
|
||||
* More debugging support was added. If tracing is enabled at
|
||||
configuration time (the default) and the HDF5_TRACE environment
|
||||
variable is set to a file descriptor then all API calls will emit
|
||||
the function name, argument names and values, and return value on
|
||||
that file number. There is an html document that describes this.
|
||||
If appropriate debugging options are enabled at configuration time,
|
||||
some packages will display performance information on stderr.
|
||||
|
||||
* Data types can be stored in the file as independent objects and
|
||||
multiple datasets can share a data type.
|
||||
|
||||
* The raw data I/O stream has been implemented and the application can
|
||||
control meta and raw data caches, so I/O performance should be
|
||||
improved from the first alpha release.
|
||||
|
||||
* Group and attribute query functions have been implemented so it is
|
||||
now possible to find out the contents of a file with no prior
|
||||
knowledge.
|
||||
|
||||
* External raw data storage allows datasets to be written by other
|
||||
applications or I/O libraries and described and accessed through
|
||||
HDF5.
|
||||
|
||||
* Hard and soft (symbolic) links are implemented which allow groups to
|
||||
share objects. Dangling and recursive symbolic links are supported.
|
||||
|
||||
* User-defined data compression is implemented although we may
|
||||
generalize the interface to allow arbitrary user-defined filters
|
||||
which can be used for compression, checksums, encryption,
|
||||
performance monitoring, etc. The publicly-available `deflate'
|
||||
method is predefined if the GNU libz.a can be found at configuration
|
||||
time.
|
||||
|
||||
* The configuration scripts have been modified to make it easier to
|
||||
build debugging vs. production versions of the library.
|
||||
|
||||
* The library automatically checks that the application was compiled
|
||||
with the correct version of header files.
|
||||
|
||||
|
||||
Parallel HDF5 Changes
|
||||
|
||||
* Parallel support for fixed dimension datasets with contiguous or
|
||||
chunked storages. Also, support unlimited dimension datasets which
|
||||
must use chunk storage. No parallel support for compressed datasets.
|
||||
|
||||
* Collective data transfer for H5Dread/H5Dwrite. Collective access
|
||||
support for datasets with contiguous storage only, thus only fixed
|
||||
dimension datasets for now.
|
||||
|
||||
* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
|
||||
argument. It is taken over by the data-transfer property list
|
||||
of H5Dread/H5Dwrite.
|
||||
|
||||
* New functions H5Pset_xfer and H5Pget_xfer to handle the
|
||||
specification of independent or collective data transfer_mode
|
||||
in the dataset transfer properties list. The properties
|
||||
list can be used to specify data transfer mode in the H5Dwrite
|
||||
and H5Dread function calls.
|
||||
|
||||
* Added parallel support for datasets with chunked storage layout.
|
||||
When a dataset is extend in a PHDF5 file, all processes that open
|
||||
the file must collectively call H5Dextend with identical new dimension
|
||||
sizes.
|
||||
|
||||
|
||||
LIST OF API FUNCTIONS
|
||||
|
||||
The following functions are implemented. Errors are returned if an
|
||||
attempt is made to use some feature which is not implemented and
|
||||
printing the error stack will show `not implemented yet'.
|
||||
|
||||
Library
|
||||
H5check - check that lib version matches header version
|
||||
H5open - initialize library (happens automatically)
|
||||
H5close - shut down the library (happens automatically)
|
||||
H5dont_atexit - don't call H5close on exit
|
||||
H5get_libversion - retrieve library version info
|
||||
H5check_version - check for specific library version
|
||||
|
||||
Property Lists
|
||||
H5Pclose - release template resources
|
||||
H5Pcopy - copy a template
|
||||
H5Pcreate - create a new template
|
||||
H5Pget_chunk - get chunked storage properties
|
||||
H5Pset_chunk - set chunked storage properties
|
||||
H5Pget_class - get template class
|
||||
H5Pget_istore_k - get chunked storage properties
|
||||
H5Pset_istore_k - set chunked storage properties
|
||||
H5Pget_layout - get raw data layout class
|
||||
H5Pset_layout - set raw data layout class
|
||||
H5Pget_sizes - get address and size sizes
|
||||
H5Pset_sizes - set address and size sizes
|
||||
H5Pget_sym_k - get symbol table storage properties
|
||||
H5Pset_sym_k - set symbol table storage properties
|
||||
H5Pget_userblock - get user-block size
|
||||
H5Pset_userblock - set user-block size
|
||||
H5Pget_version - get file version numbers
|
||||
H5Pget_alignment - get data alignment properties
|
||||
H5Pset_alignment - set data alignment properties
|
||||
H5Pget_external_count- get count of external data files
|
||||
H5Pget_external - get information about an external data file
|
||||
H5Pset_external - add a new external data file to the list
|
||||
H5Pget_driver - get low-level file driver class
|
||||
H5Pget_stdio - get properties for stdio low-level driver
|
||||
H5Pset_stdio - set properties for stdio low-level driver
|
||||
H5Pget_sec2 - get properties for sec2 low-level driver
|
||||
H5Pset_sec2 - set properties for sec2 low-level driver
|
||||
H5Pget_core - get properties for core low-level driver
|
||||
H5Pset_core - set properties for core low-level driver
|
||||
H5Pget_split - get properties for split low-level driver
|
||||
H5Pset_split - set properties for split low-level driver
|
||||
H5P_get_family - get properties for family low-level driver
|
||||
H5P_set_family - set properties for family low-level driver
|
||||
H5Pget_cache - get meta- and raw-data caching properties
|
||||
H5Pset_cache - set meta- and raw-data caching properties
|
||||
H5Pget_buffer - get raw-data I/O pipe buffer properties
|
||||
H5Pset_buffer - set raw-data I/O pipe buffer properties
|
||||
H5Pget_preserve - get type conversion preservation properties
|
||||
H5Pset_preserve - set type conversion preservation properties
|
||||
H5Pget_nfilters - get number of raw data filters
|
||||
H5Pget_filter - get raw data filter properties
|
||||
H5Pset_filter - set raw data filter properties
|
||||
H5Pset_deflate - set deflate compression filter properties
|
||||
H5Pget_mpi - get MPI-IO properties
|
||||
H5Pset_mpi - set MPI-IO properties
|
||||
H5Pget_xfer - get data transfer properties
|
||||
+ H5Pset_xfer - set data transfer properties
|
||||
+ H5Pset_preserve - set dataset transfer property list status
|
||||
+ H5Pget_preserve - get dataset transfer property list status
|
||||
+ H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
|
||||
+ H5Pget_hyper_cache - returns information regarding the caching of
|
||||
hyperslab blocks during I/O
|
||||
+ H5Pget_btree_ratios - sets B-tree split ratios for a dataset
|
||||
transfer property list
|
||||
+ H5Pset_btree_ratios - gets B-tree split ratios for a dataset
|
||||
transfer property list
|
||||
+ H5Pset_vlen_mem_manager - sets the memory manager for variable-length
|
||||
datatype allocation
|
||||
+ H5Pget_vlen_mem_manager - sets the memory manager for variable-length
|
||||
datatype allocation
|
||||
|
||||
Datasets
|
||||
H5Dclose - release dataset resources
|
||||
H5Dcreate - create a new dataset
|
||||
H5Dget_space - get data space
|
||||
H5Dget_type - get data type
|
||||
H5Dget_create_plist - get dataset creation properties
|
||||
H5Dopen - open an existing dataset
|
||||
H5Dread - read raw data
|
||||
H5Dwrite - write raw data
|
||||
H5Dextend - extend a dataset
|
||||
+ H5Diterate - iterate over all selected elements in a dataspace
|
||||
+ H5Dget_storage_size - return the amount of storage required for a dataset
|
||||
+ H5Dvlen_reclaim - reclaim VL datatype memory buffers
|
||||
|
||||
Attributes
|
||||
H5Acreate - create a new attribute
|
||||
H5Aopen_name - open an attribute by name
|
||||
H5Aopen_idx - open an attribute by number
|
||||
H5Awrite - write values into an attribute
|
||||
H5Aread - read values from an attribute
|
||||
H5Aget_space - get attribute data space
|
||||
H5Aget_type - get attribute data type
|
||||
H5Aget_name - get attribute name
|
||||
H5Anum_attrs - return the number of attributes for an object
|
||||
H5Aiterate - iterate over an object's attributes
|
||||
H5Adelete - delete an attribute
|
||||
H5Aclose - close an attribute
|
||||
|
||||
Errors
|
||||
H5Eclear - clear the error stack
|
||||
H5Eprint - print an error stack
|
||||
H5Eget_auto - get automatic error reporting settings
|
||||
H5Eset_auto - set automatic error reporting
|
||||
H5Ewalk - iterate over the error stack
|
||||
H5Ewalk_cb - the default error stack iterator function
|
||||
H5Eget_major - get the message for the major error number
|
||||
H5Eget_minor - get the message for the minor error number
|
||||
|
||||
Files
|
||||
H5Fclose - close a file and release resources
|
||||
H5Fcreate - create a new file
|
||||
H5Fget_create_plist - get file creation property list
|
||||
H5Fget_access_plist - get file access property list
|
||||
H5Fis_hdf5 - determine if a file is an hdf5 file
|
||||
H5Fopen - open an existing file
|
||||
H5Freopen - reopen an HDF5 file
|
||||
H5Fmount - mount a file
|
||||
H5Funmount - unmount a file
|
||||
H5Fflush - flush all buffers associated with a file to disk
|
||||
|
||||
Groups
|
||||
H5Gclose - close a group and release resources
|
||||
H5Gcreate - create a new group
|
||||
H5Gopen - open an existing group
|
||||
H5Giterate - iterate over the contents of a group
|
||||
H5Gmove - change the name of some object
|
||||
H5Glink - create a hard or soft link to an object
|
||||
H5Gunlink - break the link between a name and an object
|
||||
H5Gget_objinfo - get information about a group entry
|
||||
H5Gget_linkval - get the value of a soft link
|
||||
H5Gget_comment - get the comment string for an object
|
||||
H5Gset_comment - set the comment string for an object
|
||||
|
||||
Dataspaces
|
||||
H5Screate - create a new data space
|
||||
H5Scopy - copy a data space
|
||||
H5Sclose - release data space
|
||||
H5Screate_simple - create a new simple data space
|
||||
H5Sset_space - set simple data space extents
|
||||
H5Sis_simple - determine if data space is simple
|
||||
H5Sset_extent_simple - set simple data space dimensionality and size
|
||||
H5Sget_simple_extent_npoints - get number of points in simple extent
|
||||
H5Sget_simple_extent_ndims - get simple data space dimensionality
|
||||
H5Sget_simple_extent_dims - get simple data space size
|
||||
H5Sget_simple_extent_type - get type of simple extent
|
||||
H5Sset_extent_none - reset extent to be empty
|
||||
H5Sextent_copy - copy the extent from one data space to another
|
||||
H5Sget_select_npoints - get number of points selected for I/O
|
||||
H5Sselect_hyperslab - set hyperslab dataspace selection
|
||||
H5Sselect_elements - set element sequence dataspace selection
|
||||
H5Sselect_all - select entire extent for I/O
|
||||
H5Sselect_none - deselect all elements of extent
|
||||
H5Soffset_simple - set selection offset
|
||||
H5Sselect_valid - determine if selection is valid for extent
|
||||
+ H5Sget_select_hyper_nblocks - get number of hyperslab blocks
|
||||
+ H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
|
||||
currently selected
|
||||
+ H5Sget_select_elem_npoints - get the number of element points
|
||||
in the current selection
|
||||
+ H5Sget_select_elem_pointlist - get the list of element points
|
||||
currently selected
|
||||
+ H5Sget_select_bounds - gets the bounding box containing
|
||||
the current selection
|
||||
|
||||
Datatypes
|
||||
H5Tclose - release data type resources
|
||||
H5Topen - open a named data type
|
||||
H5Tcommit - name a data type
|
||||
H5Tcommitted - determine if a type is named
|
||||
H5Tcopy - copy a data type
|
||||
H5Tcreate - create a new data type
|
||||
H5Tequal - compare two data types
|
||||
H5Tlock - lock type to prevent changes
|
||||
H5Tfind - find a data type conversion function
|
||||
H5Tconvert - convert data from one type to another
|
||||
H5Tregister - register a conversion function
|
||||
H5Tunregister - remove a conversion function
|
||||
H5Tget_overflow - get function that handles overflow conv. cases
|
||||
H5Tset_overflow - set function to handle overflow conversion cases
|
||||
H5Tget_class - get data type class
|
||||
H5Tget_cset - get character set
|
||||
H5Tget_ebias - get exponent bias
|
||||
H5Tget_fields - get floating point fields
|
||||
H5Tget_inpad - get inter-field padding
|
||||
H5Tget_member_dims - get struct member dimensions
|
||||
H5Tget_member_name - get struct member name
|
||||
H5Tget_member_offset - get struct member byte offset
|
||||
H5Tget_member_type - get struct member type
|
||||
H5Tget_nmembers - get number of struct members
|
||||
H5Tget_norm - get floating point normalization
|
||||
H5Tget_offset - get bit offset within type
|
||||
H5Tget_order - get byte order
|
||||
H5Tget_pad - get padding type
|
||||
H5Tget_precision - get precision in bits
|
||||
H5Tget_sign - get integer sign type
|
||||
H5Tget_size - get size in bytes
|
||||
H5Tget_strpad - get string padding
|
||||
H5Tinsert - insert scalar struct member
|
||||
H5Tinsert_array - insert array struct member
|
||||
H5Tpack - pack struct members
|
||||
H5Tset_cset - set character set
|
||||
H5Tset_ebias - set exponent bias
|
||||
H5Tset_fields - set floating point fields
|
||||
H5Tset_inpad - set inter-field padding
|
||||
H5Tset_norm - set floating point normalization
|
||||
H5Tset_offset - set bit offset within type
|
||||
H5Tset_order - set byte order
|
||||
H5Tset_pad - set padding type
|
||||
H5Tset_precision - set precision in bits
|
||||
H5Tset_sign - set integer sign type
|
||||
H5Tset_size - set size in bytes
|
||||
H5Tset_strpad - set string padding
|
||||
+ H5Tget_super - return the base datatype from which a
|
||||
datatype is derived
|
||||
+ H5Tvlen_create - creates a new variable-length dataype
|
||||
+ H5Tenum_create - creates a new enumeration datatype
|
||||
+ H5Tenum_insert - inserts a new enumeration datatype member
|
||||
+ H5Tenum_nameof - returns the symbol name corresponding to a
|
||||
specified member of an enumeration datatype
|
||||
+ H5Tvalueof - return the value corresponding to a
|
||||
specified member of an enumeration datatype
|
||||
+ H5Tget_member_value - return the value of an enumeration datatype member
|
||||
+ H5Tset_tag - tags an opaque datatype
|
||||
+ H5Tget_tag - gets the tag associated with an opaque datatype
|
||||
|
||||
- H5Tregister_hard - register specific type conversion function
|
||||
- H5Tregister_soft - register general type conversion function
|
||||
|
||||
Filters
|
||||
H5Tregister - register a conversion function
|
||||
|
||||
Compression
|
||||
H5Zregister - register new compression and uncompression
|
||||
functions for a method specified by a method number
|
||||
|
||||
Identifiers
|
||||
+ H5Iget_type - retrieve the type of an object
|
||||
|
||||
References
|
||||
+ H5Rcreate - creates a reference
|
||||
+ H5Rdereference - open the HDF5 object referenced
|
||||
+ H5Rget_region - retrieve a dataspace with the specified region selected
|
||||
+ H5Rget_object_type - retrieve the type of object that an
|
||||
object reference points to
|
||||
|
||||
Ragged Arrays (alpha)
|
||||
H5RAcreate - create a new ragged array
|
||||
H5RAopen - open an existing array
|
||||
H5RAclose - close a ragged array
|
||||
H5RAwrite - write to an array
|
||||
H5RAread - read from an array
|
||||
|
||||
|
||||
234
INSTALL
@@ -1,33 +1,77 @@
|
||||
-*- outline -*-
|
||||
|
||||
This file contains instructions for the installation of HDF5 on
|
||||
Unix-like systems. Users of the Intel TFLOPS machine should see the
|
||||
INSTALL.ascired for instructions.
|
||||
Instructions for the Installation of the HDF5 Software
|
||||
======================================================
|
||||
|
||||
* Obtaining HDF5
|
||||
CONTENTS
|
||||
--------
|
||||
1. Obtaining HDF5
|
||||
|
||||
2. Warnings about compilers
|
||||
2.1. GNU (Intel platforms)
|
||||
2.2. DEC
|
||||
2.3. SGI (Irix64 6.2)
|
||||
2.4. Windows/NT
|
||||
|
||||
3. Quick installation
|
||||
3.1. TFLOPS
|
||||
3.2. Windows
|
||||
|
||||
4. HDF5 dependencies
|
||||
4.1. Zlib
|
||||
4.2. MPI and MPI-IO
|
||||
|
||||
5. Full installation instructions for source distributions
|
||||
5.1. Unpacking the distribution
|
||||
5.1.1. Non-compressed tar archive (*.tar)
|
||||
5.1.2. Compressed tar archive (*.tar.Z)
|
||||
5.1.3. Gzip'd tar archive (*.tar.gz)
|
||||
5.1.4. Bzip'd tar archive (*.tar.bz2)
|
||||
5.2. Source vs. Build Directories
|
||||
5.3. Configuring
|
||||
5.3.1. Specifying the installation directories
|
||||
5.3.2. Using an alternate C compiler
|
||||
5.3.3. Additional compilation flags
|
||||
5.3.4. Specifying other programs
|
||||
5.3.5. Specifying other libraries and headers
|
||||
5.3.6. Static versus shared linking
|
||||
5.3.7. Optimization versus symbolic debugging
|
||||
5.3.8. Large (>2GB) vs. small (<2GB) file capability
|
||||
5.3.9. Parallel vs. serial library
|
||||
5.4. Building
|
||||
5.5. Testing
|
||||
5.6. Installing
|
||||
|
||||
6. Using the Library
|
||||
|
||||
7. Support
|
||||
|
||||
*****************************************************************************
|
||||
|
||||
1. Obtaining HDF5
|
||||
The latest supported public release of HDF5 is available from
|
||||
ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5 and is available in tar
|
||||
format uncompressed or compressed with compress, gzip, or
|
||||
bzip2.
|
||||
ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5. For Unix platforms, it
|
||||
is available in tar format uncompressed or compressed with
|
||||
compress, gzip, or bzip2. For Microsoft Windows, it is in
|
||||
ZIP format.
|
||||
|
||||
The HDF team also makes snapshots of the source code available
|
||||
on a regular basis but these. These snapshots are unsupported
|
||||
(that is, the HDF team will not release a bug-fix on a
|
||||
particular snapshot; rather any bug fixes will be rolled into
|
||||
the next snapshot). Furthermore, the snapshots have only been
|
||||
tested on a few machines and may not test correctly for
|
||||
parallel applications. Snapshots can be found at
|
||||
The HDF team also makes snapshots of the source code available
|
||||
on a regular basis. These snapshots are unsupported (that is,
|
||||
the HDF team will not release a bug-fix on a particular
|
||||
snapshot; rather any bug fixes will be rolled into the next
|
||||
snapshot). Furthermore, the snapshots have only been tested on
|
||||
a few machines and may not test correctly for parallel
|
||||
applications. Snapshots can be found at
|
||||
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots in a
|
||||
limited number for formats.
|
||||
limited number of formats.
|
||||
|
||||
* Warnings about compilers
|
||||
2. Warnings about compilers
|
||||
OUTPUT FROM THE FOLLOWING COMPILERS SHOULD BE EXTREMELY
|
||||
SUSPECT WHEN USED TO COMPILE THE HDF5 LIBRARY, ESPECIALLY IF
|
||||
OPTIMIZATIONS ARE ENABLED. IN ALL CASES, HDF5 ATTEMPTS TO WORK
|
||||
AROUND THE COMPILER BUGS BUT THE HDF5 DEVELOPMENT TEAM MAKES
|
||||
NO GUARANTEES THAT THERE ARE OTHER CODE GENERATION PROBLEMS.
|
||||
|
||||
** GNU (Intel platforms)
|
||||
2.1. GNU (Intel platforms)
|
||||
Versions before 2.8.1 have serious problems allocating
|
||||
registers when functions contain operations on `long long'
|
||||
data types. Supplying the `--disable-hsizet' switch to
|
||||
@@ -35,68 +79,88 @@ INSTALL.ascired for instructions.
|
||||
`long long' data types in situations that are known not to
|
||||
work, but it limits the hdf5 address space to 2GB.
|
||||
|
||||
** DEC
|
||||
2.2. DEC
|
||||
The V5.2-038 compiler (and possibly others) occasionally
|
||||
generates incorrect code for memcpy() calls when optimizations
|
||||
are enabled, resulting in unaligned access faults. HDF5 works
|
||||
around the problem by casting the second argument to `char*'.
|
||||
|
||||
** SGI (Irix64 6.2)
|
||||
2.3. SGI (Irix64 6.2)
|
||||
The Mongoose 7.00 compiler has serious optimization bugs and
|
||||
should be upgraded to MIPSpro 7.2.1.2m. Patches are available
|
||||
from SGI.
|
||||
|
||||
** Windows/NT
|
||||
2.4. Windows/NT
|
||||
The MicroSoft Win32 5.0 compiler is unable to cast unsigned
|
||||
long long values to doubles. HDF5 works around this bug by
|
||||
first casting to signed long long and then to double.
|
||||
|
||||
|
||||
* Quick installation
|
||||
3. Quick installation
|
||||
For those that don't like to read ;-) the following steps can
|
||||
be used to configure, build, test, and install the HDF5
|
||||
library, header files, and support programs.
|
||||
|
||||
|
||||
$ gunzip <hdf5-1.0.0.tar.gz |tar xf -
|
||||
$ cd hdf5-1.0.0
|
||||
$ gunzip hdf5-1.2.2.tar.gz | tar xf -
|
||||
$ cd hdf5-1.2.2
|
||||
$ make check
|
||||
$ make install
|
||||
|
||||
* HDF5 dependencies
|
||||
** Zlib
|
||||
3.1. TFLOPS
|
||||
Users of the Intel TFLOPS machine, after reading this file,
|
||||
should see the INSTALL_TFLOPS for more instructions.
|
||||
|
||||
3.2. Windows
|
||||
Users of Microsoft Windows should see the INSTALL_Windows.txt
|
||||
for detailed instructions.
|
||||
|
||||
4. HDF5 dependencies
|
||||
4.1. Zlib
|
||||
The HDF5 library has a predefined compression filter that uses
|
||||
the "deflate" method for chunked datatsets. If zlib-1.1.2 or
|
||||
later is found then hdf5 will use it, otherwise HDF5's
|
||||
later is found then HDF5 will use it, otherwise HDF5's
|
||||
predefined compression method will degenerate to a no-op (the
|
||||
compression filter will succeed but the data will not be
|
||||
compressed).
|
||||
|
||||
** MPI and MPI-IO
|
||||
4.2. MPI and MPI-IO
|
||||
The parallel version of the library is built upon the
|
||||
foundation provided by MPI and MPI-IO. If these libraries are
|
||||
not available when HDF5 is configured then only a serial
|
||||
version of HDF5 can be built.
|
||||
|
||||
* Full installation instructions for source distributions
|
||||
** Unpacking the distribution
|
||||
5. Full installation instructions for source distributions
|
||||
5.1. Unpacking the distribution
|
||||
The HDF5 source code is distributed in a variety of formats
|
||||
which can be unpacked with the following commands, each of
|
||||
which creates an `hdf5-1.0.0' directory.
|
||||
which creates an `hdf5-1.2.2' directory.
|
||||
|
||||
*** Non-compressed tar archive (*.tar)
|
||||
$ tar xf hdf5-1.0.0.tar
|
||||
5.1.1. Non-compressed tar archive (*.tar)
|
||||
$ tar xf hdf5-1.2.2.tar
|
||||
|
||||
*** Compressed tar archive (*.tar.Z)
|
||||
$ uncompress -c <hdf5-1.0.0.tar.Z |tar xf -
|
||||
5.1.2. Compressed tar archive (*.tar.Z)
|
||||
$ uncompress -c hdf5-1.2.2.tar.Z |tar xf -
|
||||
|
||||
*** Gzip'd tar archive (*.tar.gz)
|
||||
$ gunzip <hdf5-1.0.0.tar.gz |tar xf -
|
||||
5.1.3. Gzip'd tar archive (*.tar.gz)
|
||||
$ gunzip hdf5-1.2.2.tar.gz |tar xf -
|
||||
|
||||
*** Bzip'd tar archive (*.tar.bz2)
|
||||
$ bunzip2 <hdf5-1.0.0.tar.gz |tar xf -
|
||||
5.1.4. Bzip'd tar archive (*.tar.bz2)
|
||||
$ bunzip2 hdf5-1.2.2.tar.gz |tar xf -
|
||||
|
||||
** Configuring
|
||||
5.2. Source vs. Build Directories
|
||||
On most systems the build can occur in a directory other than
|
||||
the source directory, allowing multiple concurrent builds
|
||||
and/or read-only source code. In order to accomplish this, one
|
||||
should create a build directory, cd into that directory, and
|
||||
run the `configure' script found in the source directory
|
||||
(configure details are below).
|
||||
|
||||
Unfortunately, this does not work on recent Irix platforms
|
||||
(6.5? and later) because that `make' doesn't understand the
|
||||
VPATH variable. This will be fixed in the next release.
|
||||
|
||||
5.3. Configuring
|
||||
HDF5 uses the GNU autoconf system for configuration, which
|
||||
detects various features of the host system and creates the
|
||||
Makefiles. On most systems it should be sufficient to say:
|
||||
@@ -114,20 +178,20 @@ INSTALL.ascired for instructions.
|
||||
influences the behavior of configure by setting or augmenting
|
||||
shell variables.
|
||||
|
||||
*** Specifying the installation directories
|
||||
5.3.1. Specifying the installation directories
|
||||
Typing `make install' will install the HDF5 library, header
|
||||
files, and support programs in /usr/local/lib,
|
||||
/usr/local/include, and /usr/local/bin. To use a path other
|
||||
than /usr/local specify the path with the `--prefix=PATH'
|
||||
switch:
|
||||
|
||||
$ ./configure --prefix=/home/robb
|
||||
$ ./configure --prefix=$HOME
|
||||
|
||||
If shared libraries are being built (the default) then the
|
||||
final home of the shared library must be specified with this
|
||||
switch before the library and executables are built.
|
||||
|
||||
*** Using an alternate C compiler
|
||||
5.3.2. Using an alternate C compiler
|
||||
By default, configure will look for the C compiler by trying
|
||||
`gcc' and `cc'. However, if the environment variable "CC" is
|
||||
set then its value is used as the C compiler (users of csh and
|
||||
@@ -145,12 +209,18 @@ INSTALL.ascired for instructions.
|
||||
|
||||
$ CC=/usr/local/mpi/bin/mpicc ./configure
|
||||
|
||||
On Irix64 the default compiler is `cc -64'. To use an
|
||||
On Irix64 the default compiler is `cc'. To use an
|
||||
alternate compiler specify it with the CC variable:
|
||||
|
||||
$ CC='cc -o32' ./configure
|
||||
$ CC='cc -n32' ./configure
|
||||
|
||||
*** Additional compilation flags
|
||||
One may also use various environment variables to change the
|
||||
behavior of the compiler. E.g., to ask for -n32 ABI:
|
||||
$ SGI_ABI=-n32
|
||||
$ export SGI_ABI
|
||||
$ ./configure
|
||||
|
||||
5.3.3. Additional compilation flags
|
||||
If addtional flags must be passed to the compilation commands
|
||||
then specify those flags with the CFLAGS variable. For
|
||||
instance, to enable symbolic debugging of a production version
|
||||
@@ -158,7 +228,7 @@ INSTALL.ascired for instructions.
|
||||
|
||||
$ CFLAGS=-g ./confgure --enable-production
|
||||
|
||||
*** Specifying other programs
|
||||
5.3.4. Specifying other programs
|
||||
The build system has been tuned for use with GNU make but
|
||||
works also with other versions of make. If the `make' command
|
||||
runs a non-GNU version but a GNU version is available under a
|
||||
@@ -179,9 +249,8 @@ INSTALL.ascired for instructions.
|
||||
install program detected automatically by configure. If none
|
||||
is found then the shell script bin/install-sh is
|
||||
used. Configure doesn't check that the install script actually
|
||||
works, but if a bad install is detected on your system (e.g.,
|
||||
on the ASCI blue machine as of March 2, 1999) you have two
|
||||
choices:
|
||||
works, but if a bad install is detected on your system, you
|
||||
have two choices:
|
||||
|
||||
1. Copy the bin/install-sh program to your $HOME/bin
|
||||
directory, name it `install', and make sure that
|
||||
@@ -195,7 +264,7 @@ INSTALL.ascired for instructions.
|
||||
program to also change file ownership and/or access
|
||||
permissions.
|
||||
|
||||
*** Specifying other libraries and headers
|
||||
5.3.5. Specifying other libraries and headers
|
||||
Configure searches the standard places (those places known by
|
||||
the systems compiler) for include files and header
|
||||
files. However, additional directories can be specified by
|
||||
@@ -229,7 +298,7 @@ INSTALL.ascired for instructions.
|
||||
version of hdf4 the confidence testing will fail in the tools
|
||||
directory.
|
||||
|
||||
*** Static versus shared linking
|
||||
5.3.6. Static versus shared linking
|
||||
The build process will create static libraries on all systems
|
||||
and shared libraries on systems that support dynamic linking
|
||||
to a sufficient degree. Either form of library may be
|
||||
@@ -237,7 +306,7 @@ INSTALL.ascired for instructions.
|
||||
|
||||
$ ./configure --disable-shared
|
||||
|
||||
*** Optimization versus symbolic debugging
|
||||
5.3.7. Optimization versus symbolic debugging
|
||||
The library can be compiled to provide symbolic debugging
|
||||
support so it can be debugged with gdb, dbx, ddd, etc or it
|
||||
can be compiled with various optimizations. To compile for
|
||||
@@ -276,7 +345,7 @@ INSTALL.ascired for instructions.
|
||||
releases). The tracing must also be enabled at runtime to see
|
||||
any output (see Debugging.html).
|
||||
|
||||
*** Large (>2GB) vs. small (<2GB) file capability
|
||||
5.3.8. Large (>2GB) vs. small (<2GB) file capability
|
||||
In order to read or write files that could potentially be
|
||||
larger than 2GB it is necessary to use the non-ANSI `long
|
||||
long' data type on some platforms. However, some compilers
|
||||
@@ -287,46 +356,13 @@ INSTALL.ascired for instructions.
|
||||
|
||||
$ ./configure --disable-hsizet
|
||||
|
||||
*** Parallel vs. serial library
|
||||
5.3.9. Parallel vs. serial library
|
||||
The HDF5 library can be configured to use MPI and MPI-IO for
|
||||
parallelizm on a distributed multi-processor system. The easy
|
||||
way to do this is to have a properly installed parallel
|
||||
compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
|
||||
executable as the value of the CC environment variable:
|
||||
parallelism on a distributed multi-processor system. Read the
|
||||
file INSTALL_parallel for detailed explanations.
|
||||
|
||||
$ CC=mpcc ./configure
|
||||
$ CC=/usr/local/mpi/bin/mpicc ./configure
|
||||
|
||||
If no such wrapper script is available then you must specify
|
||||
your normal C compiler along with the distribution of
|
||||
MPI/MPI-IO which is to be used (values other than `mpich' will
|
||||
be added at a later date):
|
||||
|
||||
$ ./configure --enable-parallel=mpich
|
||||
|
||||
If the MPI/MPI-IO include files and/or libraries cannot be
|
||||
found by the compiler then their directories must be given as
|
||||
arguments to CPPFLAGS and/or LDFLAGS:
|
||||
|
||||
$ CPPFLAGS=-I/usr/local/mpi/include \
|
||||
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
|
||||
./configure --enable-parallel=mpich
|
||||
|
||||
If a parallel library is being built then configure attempts
|
||||
to determine how to run a parallel application on one
|
||||
processor and on many processors. If the compiler is mpicc
|
||||
and the user hasn't specified values for RUNSERIAL and
|
||||
RUNPARALLEL then configure chooses `mpirun' from the same
|
||||
directory as `mpicc':
|
||||
|
||||
RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
|
||||
RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
|
||||
|
||||
The `$${NPROCS:=2}' will be substituted with the value of the
|
||||
NPROCS environment variable at the time `make check' is run
|
||||
(or the value 2).
|
||||
|
||||
** Building
|
||||
5.4. Building
|
||||
The library, confidence tests, and programs can be build by
|
||||
saying just
|
||||
|
||||
@@ -343,7 +379,7 @@ INSTALL.ascired for instructions.
|
||||
|
||||
$ make -j -l6
|
||||
|
||||
** Testing
|
||||
5.5. Testing
|
||||
HDF5 comes with various test suites, all of which can be run
|
||||
by saying
|
||||
|
||||
@@ -359,7 +395,7 @@ INSTALL.ascired for instructions.
|
||||
fails. To prevent deletion of the files define the
|
||||
HDF5_NOCLEANUP environment variable.
|
||||
|
||||
** Installing
|
||||
5.6. Installing
|
||||
The HDF5 library, include files, and support programs can be
|
||||
installed in a (semi-)public place by saying `make
|
||||
install'. The files are installed under the directory
|
||||
@@ -368,6 +404,12 @@ INSTALL.ascired for instructions.
|
||||
exist prior to `make install', but its subdirectories are
|
||||
created automatically.
|
||||
|
||||
If `make install' fails because the install command at your
|
||||
site somehow fails, you may use the install-sh that comes
|
||||
with the source. You need to run ./configure again.
|
||||
$ INSTALL="$PWD/bin/install-sh -c" ./configure ...
|
||||
$ make install
|
||||
|
||||
The library can be used without installing it by pointing the
|
||||
compiler at the `src' directory for both include files and
|
||||
libraries. However, the minimum which must be installed to
|
||||
@@ -393,7 +435,7 @@ INSTALL.ascired for instructions.
|
||||
./tools/h5debug (low-level file debugging)
|
||||
./tools/h5import (a demo)
|
||||
|
||||
* Using the Library
|
||||
6. Using the Library
|
||||
Please see the User Manual in the doc/html directory.
|
||||
|
||||
Most programs will include <hdf5.h> and link with
|
||||
@@ -405,6 +447,6 @@ INSTALL.ascired for instructions.
|
||||
libhdf5.settings file in the same directory as the static
|
||||
and/or shared hdf5 libraries.
|
||||
|
||||
* Support
|
||||
Support is described in the README file.
|
||||
7. Support
|
||||
Support is described in the RELEASE file.
|
||||
|
||||
|
||||
133
INSTALL.ascired
@@ -1,133 +0,0 @@
|
||||
|
||||
FOR THE INTEL TFLOPS MACHINE:
|
||||
|
||||
Below are the step-by-step procedures for building, testing, and
|
||||
installing both the sequential and parallel versions of the HDF5 library.
|
||||
|
||||
---------------
|
||||
Sequential HDF5:
|
||||
---------------
|
||||
|
||||
The setup process for building the sequential HDF5 library for the
|
||||
ASCI Red machine is done by a coordination of events from sasn100 and
|
||||
janus. Special effort must be made to move the compiled and linked
|
||||
testers to disks local to the processors for execution. This special
|
||||
effort is shown here at steps 9) and steps 10).
|
||||
|
||||
The total required steps are something similar to:
|
||||
FROM SASN100,
|
||||
|
||||
1) uncompress hdf5-1.1.0.tar.Z
|
||||
|
||||
2) tar xvf hdf5-1.1.0.tar
|
||||
|
||||
3) cd ./hdf5
|
||||
|
||||
4) ./configure tflop
|
||||
|
||||
5) make H5detect
|
||||
|
||||
|
||||
FROM JANUS,
|
||||
|
||||
6) cd ./hdf5
|
||||
|
||||
7) make H5Tinit.c
|
||||
|
||||
|
||||
FROM SASN100,
|
||||
|
||||
8) make >&! comp.out &
|
||||
|
||||
|
||||
When everything is finished compiling and linking,
|
||||
FROM JANUS,
|
||||
|
||||
9) cp -r ../hdf5 /scratch
|
||||
|
||||
10) cd /scratch/hdf5/test
|
||||
|
||||
11) make test >&! test.out
|
||||
|
||||
|
||||
Once satisfied with the test results, as long as you
|
||||
have the correct permission,
|
||||
FROM SASN100,
|
||||
|
||||
12) make install
|
||||
|
||||
|
||||
---------------
|
||||
Parallel HDF5:
|
||||
---------------
|
||||
|
||||
The setup process for building the parallel version of the HDF5 library for the
|
||||
ASCI Red machine is very similar to the sequential version. It is done by a
|
||||
coordination of events from sasn100 and janus. Special effort must be made to
|
||||
move the compiled and linked single processor testers to disks local to the
|
||||
processor for execution. This special effort is shown here at steps 9) and
|
||||
steps 10). Following these test, there are the edit, compile, link, and
|
||||
execution of parallel tests described in steps 12) through 16).
|
||||
|
||||
|
||||
The total required steps are something similar to:
|
||||
FROM SASN100,
|
||||
|
||||
1) uncompress hdf5-1.1.0.tar.Z
|
||||
|
||||
2) tar xvf hdf5-1.1.0.tar
|
||||
|
||||
3) cd ./hdf5
|
||||
|
||||
4) sh INSTALL_parallel.ascired /* this is different from the sequential version */
|
||||
|
||||
5) make H5detect
|
||||
|
||||
|
||||
FROM JANUS,
|
||||
|
||||
6) cd ./hdf5
|
||||
|
||||
7) make H5Tinit.c
|
||||
|
||||
|
||||
FROM SASN100,
|
||||
|
||||
8) make >&! comp.out &
|
||||
|
||||
|
||||
When everything is finished compiling and linking,
|
||||
FROM JANUS,
|
||||
|
||||
9) cp -rp ../hdf5 /scratch
|
||||
|
||||
10) cd /scratch/hdf5/test
|
||||
|
||||
11) make test >&! test.out
|
||||
|
||||
|
||||
Once satisfied with the single processor test results,
|
||||
FROM SASN100,
|
||||
|
||||
12) cd testpar
|
||||
|
||||
13) go through the README file.
|
||||
|
||||
14) make -f Makefile.ascired
|
||||
|
||||
|
||||
When everything is finished compiling and linking,
|
||||
FROM JANUS,
|
||||
|
||||
15) cd ./hdf5/testpar
|
||||
|
||||
16) make test -f Makefile.ascired >&! test.out
|
||||
|
||||
|
||||
Once satisfied with the parallel test results, as long as you
|
||||
have the correct permission,
|
||||
FROM SASN100,
|
||||
|
||||
17) make install
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
This file contains instructions for the installation a version of HDF5
|
||||
that uses the parallel file I/O facilities of the MPI-IO library. A
|
||||
parallel version of HDF5 can run in a serial environment as long as
|
||||
the appropriate MPI-IO and MPI header files and libraries are
|
||||
available.
|
||||
|
||||
The parallel version of hdf5 can be build by generally following the
|
||||
instructions in the INSTALL file for building a serial version and
|
||||
using `mpicc' as the C compiler. This can be done by setting the CC
|
||||
environment variable before invoking configure as with:
|
||||
|
||||
$ CC=mpicc ./configure
|
||||
|
||||
If the mpicc compiler is not available then a parallel library can
|
||||
still be built as long as the appropriate header files and libraries
|
||||
can be found. If these files are part of the default compiler search
|
||||
paths then configuration is as simple as:
|
||||
|
||||
$ ./configure --enable-parallel
|
||||
|
||||
Otherwise, if the MPI and MPI-IO header files or library cannot be
|
||||
found then the compiler search paths can be corrected, the files can
|
||||
be moved, or configure can be told about the file locations. The
|
||||
latter is done with something like:
|
||||
|
||||
$ CPPFLAGS=-I/usr/local/mpi/include \
|
||||
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
|
||||
./configure --enable-parallel
|
||||
155
INSTALL_TFLOPS
Normal file
@@ -0,0 +1,155 @@
|
||||
|
||||
FOR THE INTEL TFLOPS MACHINE:
|
||||
|
||||
Below are the step-by-step procedures for building, testing, and
|
||||
installing both the sequential and parallel versions of the HDF5 library.
|
||||
|
||||
---------------
|
||||
Sequential HDF5:
|
||||
---------------
|
||||
|
||||
The setup process for building the sequential HDF5 library for the
|
||||
ASCI Red machine is done by a coordination of events from sasn100 and
|
||||
janus. Though janus can do compiling, it is better to build it
|
||||
from sasn100 which has more complete building tools and runs faster.
|
||||
It is also anti-social to tie up janus with compiling. The HDF5 building
|
||||
requires the use of janus because one of steps is to execute a program
|
||||
to find out the run-time characteristics of the TFLOPS machine.
|
||||
|
||||
Assuming you have already unpacked the HDF5 tar-file into the
|
||||
directory <hdf5>, follow the steps below:
|
||||
|
||||
FROM SASN100,
|
||||
|
||||
1) cd <hdf5>
|
||||
|
||||
2) ./configure tflop
|
||||
2.1) Due to a bug, you must first edit the files, src/Makefile and
|
||||
test/Makefile with the following shell commands before doing make.
|
||||
|
||||
# Patch up various Makefile's.
|
||||
# patch up src/Makefile
|
||||
ed - src/Makefile <<'EOF'
|
||||
/^LT_RUN=.*/s//LT_RUN=$(RUNTEST)/
|
||||
w
|
||||
q
|
||||
EOF
|
||||
# patch up test/Makefile
|
||||
ed - test/Makefile <<'EOF'
|
||||
/^RUNTEST=$(LT_RUN)/s/^/#/
|
||||
w
|
||||
q
|
||||
EOF
|
||||
|
||||
|
||||
3) make H5detect
|
||||
|
||||
|
||||
FROM JANUS,
|
||||
|
||||
4) cd <hdf5>
|
||||
|
||||
5) make H5Tinit.c
|
||||
|
||||
|
||||
FROM SASN100,
|
||||
|
||||
6) make
|
||||
|
||||
|
||||
When everything is finished compiling and linking,
|
||||
you can run the tests by
|
||||
FROM JANUS,
|
||||
|
||||
7) make check
|
||||
Note: Sometimes the "make check" fails in the sub-directories of test
|
||||
or tools with a message as "print not found". This is due to the
|
||||
"make" of Janus thinking some binary code needs to be recompiled.
|
||||
I suspect it may be due to file timestamp problems between SASN100
|
||||
and JANUS. The easiest way to fix it is
|
||||
|
||||
FROM SASN100
|
||||
cd <hdf5>/test # or cd <hdf5>/tools
|
||||
make clean; make # re-make all binary
|
||||
|
||||
|
||||
Once satisfied with the test results, you can install
|
||||
the software by
|
||||
FROM SASN100,
|
||||
|
||||
8) make install
|
||||
|
||||
|
||||
---------------
|
||||
Parallel HDF5:
|
||||
---------------
|
||||
|
||||
The setup process for building the parallel version of the HDF5 library for the
|
||||
ASCI Red machine is very similar to the sequential version. Since TFLOPS
|
||||
does not support MPIO, we have prepared a shell-script file that configures
|
||||
with the appropriate MPI library.
|
||||
|
||||
Assuming you have already unpacked the HDF5 tar-file into the
|
||||
directory <hdf5>, follow the steps below:
|
||||
FROM SASN100,
|
||||
|
||||
1) cd <hdf5>
|
||||
|
||||
2) CC=/usr/community/mpich/mpich-1.1.2/bin/mpicc ./configure --enable-parallel
|
||||
/* If you want to use your own MPI and/or MPIO libraries, */
|
||||
/* you may check the file bin/config_para_tflops.sh for details. */
|
||||
2.1) Due to a bug, you must first edit the files, src/Makefile and
|
||||
test/Makefile with the following shell commands before doing make.
|
||||
|
||||
# Patch up various Makefile's.
|
||||
# patch up src/Makefile
|
||||
ed - src/Makefile <<'EOF'
|
||||
/^LT_RUN=.*/s//LT_RUN=$(RUNTEST)/
|
||||
w
|
||||
q
|
||||
EOF
|
||||
# patch up test/Makefile
|
||||
ed - test/Makefile <<'EOF'
|
||||
/^RUNTEST=$(LT_RUN)/s/^/#/
|
||||
w
|
||||
q
|
||||
EOF
|
||||
|
||||
|
||||
3) make H5detect
|
||||
|
||||
|
||||
FROM JANUS,
|
||||
|
||||
4) cd <hdf5>
|
||||
|
||||
5) make H5Tinit.c
|
||||
|
||||
|
||||
FROM SASN100,
|
||||
|
||||
6) make
|
||||
|
||||
|
||||
When everything is finished compiling and linking,
|
||||
FROM JANUS,
|
||||
|
||||
7) make check
|
||||
Note: Sometimes the "make check" fails in the sub-directories of test
|
||||
or tools with a message as "print not found". This is due to the
|
||||
"make" of Janus thinking some binary code needs to be recompiled.
|
||||
I suspect it may be due to file timestamp problems between SASN100
|
||||
and JANUS. The easiest way to fix it is
|
||||
|
||||
FROM SASN100
|
||||
cd <hdf5>/test # or cd <hdf5>/tools
|
||||
make clean; make # re-make all binary
|
||||
|
||||
|
||||
Once satisfied with the parallel test results, as long as you
|
||||
have the correct permission,
|
||||
FROM SASN100,
|
||||
|
||||
8) make install
|
||||
|
||||
|
||||
337
INSTALL_Windows.txt
Normal file
@@ -0,0 +1,337 @@
|
||||
HDF5 Install Instructions for Windows NT/95/98.
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
The instructions which follow assume that you will be using the the source
|
||||
code release 'zip' file (hdf5-1_2_2.zip).
|
||||
|
||||
The following sections discuss in detail installation procedures.
|
||||
|
||||
Building from Source Code Release (hdf5-1_2_2.zip)
|
||||
===============================================
|
||||
|
||||
STEP I: Preconditions
|
||||
|
||||
To build the HDF5 and tests, it is assumed that you have done the following:
|
||||
|
||||
1. Installed MicroSoft Developer Studio, and Visual C++ 6.0.
|
||||
|
||||
2. Set up a directory structure to unpack the library. For
|
||||
example:
|
||||
c:\ (any drive)
|
||||
MyHDFstuff\ (any folder name)
|
||||
|
||||
3. Copied the source distribution archive to that directory
|
||||
and unpacked it using the appropriate archiver options to
|
||||
create a directory hierarchy.
|
||||
|
||||
Run WinZip on hdf5-1_2_2.zip (the entire source tree).
|
||||
This creates a directory called 'hdf5' which
|
||||
contains several files and directories.
|
||||
|
||||
4. You do not have a version of the zlib library and you would like to
|
||||
use it. If you do not want to use the zlib library or have your own
|
||||
version read the section about the zlib library.
|
||||
|
||||
|
||||
STEP II: Building the Libraries and tests.
|
||||
1. Rename the directory under C:\myHDFstuff\ from hdf5xxx to hdf5.
|
||||
|
||||
2. Unpack the c:\myHDFstuff\hdf5\all.zip into the 'myHDFstuff' directory
|
||||
and move the zlib.dll from c:\myHDFstuff\hdf5\src\zlib\dll to the Windows
|
||||
system directory.
|
||||
|
||||
NOTE TO ALPHA USERS- the version of zlib that is packaged in all.zip
|
||||
is for Intel platforms. The Alpha versions of the libraries can be
|
||||
obtained from ftp://hdf.ncsa.uiuc.edu/HDF5/. The file to download
|
||||
is Alphazlib.zip. After the file is downloaded replace the src\zlib
|
||||
directory with the files from Alphazlib.zip.
|
||||
|
||||
3. Invoke Microsoft Visual C++, go to "File" and select
|
||||
the "Open Workspace" option.
|
||||
|
||||
Then open the c:\myHDFstuff\hdf5\proj\all\all.dsw workspace.
|
||||
|
||||
4. Select "Build", then Select "Set Active Configuration".
|
||||
|
||||
On Windows platform select as the active configuration
|
||||
|
||||
"all -- Win32 Debug" to build debug versions of single-threaded
|
||||
static libraries, and tests.
|
||||
or
|
||||
|
||||
"all -- Win32 Release" to build release versions of single-threaded
|
||||
static libraries, and tests.
|
||||
|
||||
On the Alpha platform select as the active configuration
|
||||
|
||||
"all -- Win32 AlphaDbg" to build debug versions of single-threaded
|
||||
static libraries, and tests.
|
||||
or
|
||||
|
||||
"all -- Win32 AlphaRel" to build release versions of single-threaded
|
||||
static libraries, and tests.
|
||||
|
||||
Select "Build" and "Build all.exe" to
|
||||
build the corresponding version of the HDF5 library.
|
||||
|
||||
NOTE: "all" is a dummy target. You will get a link error when
|
||||
"all.exe." is built :
|
||||
LINK: error LNK2001: unresolved external symbol
|
||||
_mainCRTStartup.....
|
||||
all.exe - 2 error(s), ....
|
||||
|
||||
Warning messages can be ignored. The "all.exe" is never created,
|
||||
so it is OK.
|
||||
|
||||
When the debug or release build is done the directories listed
|
||||
below will contain the following files :
|
||||
|
||||
c:\MyHDFstuff\hdf5\proj\hdf5\debug -
|
||||
c:\MyHDFstuff\hdf5\proj\hdf5\release -
|
||||
|
||||
hdf5.lib- the hdf5 library
|
||||
|
||||
c:\MyHDFstuff\hdf5\proj\hdf5dll\debug -
|
||||
c:\MyHDFstuff\hdf5\proj\hdf5dll\release -
|
||||
|
||||
hdf5.dll- the hdf5 library
|
||||
hdf5.lib- the dll export library
|
||||
|
||||
c:\MyHDFstuff\hdf5\test\"test directory"-
|
||||
where test directory is one of the following:
|
||||
|
||||
|
||||
big
|
||||
|
||||
bittests
|
||||
|
||||
chunk
|
||||
|
||||
cmpd_dset
|
||||
|
||||
dsets
|
||||
|
||||
dtypes
|
||||
|
||||
enum
|
||||
|
||||
extend
|
||||
|
||||
external
|
||||
|
||||
fillval
|
||||
|
||||
flush1
|
||||
|
||||
flush2
|
||||
|
||||
gheap
|
||||
|
||||
hyperslab
|
||||
|
||||
iopipe
|
||||
|
||||
istore
|
||||
|
||||
links
|
||||
|
||||
mount
|
||||
|
||||
mtime
|
||||
|
||||
ohdr
|
||||
|
||||
overhead
|
||||
|
||||
ragged
|
||||
|
||||
stab
|
||||
|
||||
testhdf5
|
||||
|
||||
unlink
|
||||
|
||||
Each test directory contains debug and release subdirectories with the
|
||||
corresponding tests.
|
||||
|
||||
|
||||
STEP III: TESTING THE BUILD
|
||||
|
||||
In a command prompt window run the test batch file which
|
||||
resides in the hdf5\test directory to make sure that the library
|
||||
was built correctly.
|
||||
|
||||
To test, cd into the hdf5\test directory. Then type:
|
||||
"hdf5test [debug or release] [dll]" depending on which version you would
|
||||
like to test.
|
||||
|
||||
To use the timing tests use the hdf5timingtest.bat file found in the hdf5\test
|
||||
directory. Type: "hdf5timingtest [debug or release] [dll]" depending on which
|
||||
version you would like to test.
|
||||
|
||||
To test the h5dump utility, cd into hdf5\tools. Then type:
|
||||
"dumptest [debug or release] [dll]" depending on which version you would like
|
||||
to test. Some differences are expected in the output of these 4 tests.
|
||||
|
||||
|
||||
NOTE: the appropriate dll should be placed in the Windows\system directory
|
||||
before using the dlls.
|
||||
|
||||
NOTE: The debug dll tests on the Alpha platform currently are not completely
|
||||
working. The release dll is fine though.
|
||||
|
||||
NOTE: The dll versions of h5dump are currently not working correctly.
|
||||
|
||||
NOTE: There is an error in the external test. The external file feature
|
||||
is working correctly but there is an error in logic for the test which
|
||||
only appears under certain operating systems. The external test fails
|
||||
for the last case "Testing write external dataset"
|
||||
|
||||
STEP IV: BUILDING THE EXAMPLES
|
||||
|
||||
1. Invoke Microsoft Visual C++, go to "File" and select
|
||||
the "Open Workspace" option.
|
||||
Then open the c:\myHDFstuff\hdf5\examples\allexamples\allexamples.dsw
|
||||
workspace.
|
||||
|
||||
2. Select "Build", then Select "Set Active Configuration".
|
||||
|
||||
On Windows platform select as the active configuration
|
||||
"allexamples -- Win32 Debug" to build debug versions of the examples.
|
||||
|
||||
or
|
||||
|
||||
"allexamples -- Win32 Release" to build release versions the examples.
|
||||
|
||||
On Alpha platform select as the active configuration
|
||||
"allexamples -- Win32 AlphaDbg" to build debug versions of the examples.
|
||||
|
||||
or
|
||||
|
||||
"allexamples -- Win32 AlphaRel" to build release versions the
|
||||
examples.
|
||||
|
||||
Select "Build" and "Build allexamples.exe" to
|
||||
build the corresponding version of the examples.
|
||||
|
||||
When the debug build or release build is done there should be the
|
||||
following subdirectories in C:\myHDFstuff\hdf5\examples\
|
||||
|
||||
attributetest
|
||||
|
||||
chunkread
|
||||
|
||||
compoundtest
|
||||
|
||||
extendwritetest
|
||||
|
||||
grouptest
|
||||
|
||||
readtest
|
||||
|
||||
selecttest
|
||||
|
||||
writetest
|
||||
|
||||
|
||||
|
||||
3. Run the batch file "InstallExamples.bat" which resides in the top
|
||||
level directory. This file creates 2 new directories, examplesREL and
|
||||
examplesDBG, in the examples directory and places all the executables
|
||||
in it. Both the release and debug versions of the examples should be
|
||||
built before this step is done. The examples should be tested in these
|
||||
2 new directories due to some dependencies between the examples.
|
||||
|
||||
|
||||
|
||||
STEP V:
|
||||
|
||||
BUILDING AN APPLICATION USING THE HDF5 LIBRARY - SOME HELPFUL POINTERS
|
||||
=====================================================================
|
||||
|
||||
If you are building an application that uses the HDF5 library
|
||||
the following locations will need to be specified for locating
|
||||
header files and linking in the HDF libraries:
|
||||
|
||||
<top-level HDF5 directory>\src
|
||||
|
||||
where <top-level HDF5 directory> may be
|
||||
C:\MyHDFstuff\hdf5\
|
||||
|
||||
|
||||
|
||||
MORE HELPFUL POINTERS
|
||||
=====================
|
||||
|
||||
|
||||
Here are some notes that may be of help if you are not familiar
|
||||
with using the Visual C++ Development Environment.
|
||||
|
||||
Project name and location issues:
|
||||
|
||||
The files in all.zip must end up in the hdf5\ directory
|
||||
installed by hdf5-1_2_1.zip
|
||||
|
||||
If you must install all.dsw and all.dsp in another directory, relative
|
||||
to hdf5\ , you will be asked to locate the sub-project files,
|
||||
when you open the project all.dsw.
|
||||
|
||||
If you want to rename all (the entire project), you will need to modify
|
||||
two files all.dsw and all.dsp as text (contrary to the explicit warnings
|
||||
in the files).
|
||||
|
||||
You can also modify all.dsw and all.dsp as text, to allow these 2 files
|
||||
to be installed in another directory.
|
||||
|
||||
|
||||
Settings... details:
|
||||
|
||||
If you create your own project, the necessary settings can be
|
||||
read from the all.dsp file(as text), or from the Project Settings in
|
||||
the Developer Studio project settings dialog.
|
||||
|
||||
Project
|
||||
Settings
|
||||
C/C++
|
||||
Category
|
||||
PreProcessor
|
||||
Code Generation
|
||||
Use run-time Library
|
||||
These are all set to use
|
||||
Single-Threaded
|
||||
|
||||
|
||||
|
||||
ZLIB LIBRARY- REMOVING OR CHANGING THE PATH
|
||||
============================================
|
||||
|
||||
If you would like to remove the zlib library from the hdf5 library or
|
||||
use your own version of the zlib library then follow the steps below.
|
||||
|
||||
Removing the zlib library completely:
|
||||
|
||||
Open the all.dsw workspace file in Microsoft Visual C++. Go to the hdf5
|
||||
project. Select the zlib.lib file from this project and delete(press the
|
||||
'delete' key) it. Next open the H5config.h file from the src directory.
|
||||
Remove the the following two lines:
|
||||
#define HAVE_LIBZ 1
|
||||
#define HAVE_COMPRESS2
|
||||
then save the file.
|
||||
|
||||
Next go to the hdf5dll project. Remove the zlib.lib from this project too.
|
||||
Open the project settings for the hdf5dll project. Go to the C/C++
|
||||
settings tab and under the preprocessor definitions remove the ZLIB_DLL
|
||||
in both the debug and the release settings. Recompile the all project and
|
||||
then save the workspace.
|
||||
|
||||
|
||||
Replacing the zlib library:
|
||||
|
||||
Open the all.dsw workspace and go to the hdf5 project. Delete the
|
||||
zlib.lib file from the file listing. Then select the hdf5 project and
|
||||
richt click to get a menu. Pick the "add files to project..." option
|
||||
and find the version of the zlib that you would like to use. Then click OK
|
||||
in the file chooser dialog. Repeat the steps for the hdf5dll project.
|
||||
You may also want to replace the zlib.h and zconf.h files which are in
|
||||
the src directory with your own versions of these files. Then recompile
|
||||
the all project.
|
||||
@@ -1,6 +1,5 @@
|
||||
Installation instructions for Parallel HDF5
|
||||
-------------------------------------------
|
||||
(last updated: May 21, 1999)
|
||||
|
||||
1. Overview
|
||||
-----------
|
||||
@@ -9,7 +8,7 @@ HDF5. Platforms supported by this release are SGI Origin 2000,
|
||||
IBM SP2, and the Intel TFLOP. The steps are kind of unnatural and
|
||||
will be more automized in the next release. If you have difficulties
|
||||
installing the software in your system, please send mail to
|
||||
hdfparallel@ncsa.uiuc.edu
|
||||
hdfhelp@ncsa.uiuc.edu
|
||||
In your mail, please enclose the output of "uname -a". Also attach the
|
||||
content of "config.log" if you have run the "configure" command.
|
||||
|
||||
@@ -27,30 +26,38 @@ configure for a few machines we tested. If your particular platform
|
||||
is not shown or somehow the steps do not work for yours, please go
|
||||
to the next section for more detail explanations.
|
||||
|
||||
IBM SP2: follow the instructions in INSTALL.ibm.sp.parallel.
|
||||
2.1. IBM SP2
|
||||
------------
|
||||
Follow the instructions in bin/config_para_ibm_sp.sh.
|
||||
|
||||
TFLOPS: follow the instuctions in INSTALL.ascired.
|
||||
2.2. TFLOPS
|
||||
-----------
|
||||
Follow the instuctions in INSTALL_TFLOPS.
|
||||
|
||||
SGI Origin 2000:
|
||||
Cray T3E:
|
||||
(where MPI-IO is part of system MPI library such as mpt 1.3)
|
||||
2.3. SGI/CRAY (Origin 2000, T3E)
|
||||
--------------------------------
|
||||
For SGI/CRAY systems in which MPI-IO is part of system MPI library
|
||||
such as mpt 1.3, use the following steps.
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
RUNPARALLEL="mpirun -np 2"
|
||||
export RUNPARALLEL
|
||||
LIBS="-lmpi"
|
||||
export LIBS
|
||||
./configure --enable-parallel --disable-shared --prefix=$PWD/installdir
|
||||
./configure --enable-parallel --prefix=$PWD/installdir
|
||||
make
|
||||
make check
|
||||
make install
|
||||
|
||||
|
||||
SGI Origin 2000:
|
||||
Cray T3E:
|
||||
(where MPI-IO is not part of system MPI library or I want to
|
||||
use my own version of MPIO)
|
||||
2.4. MPICH systems
|
||||
------------------
|
||||
For systems in which the latest MPICH library with ROMIO is installed,
|
||||
use the following steps.
|
||||
|
||||
CC=mpicc ./configure --prefix=$PWD/installdir
|
||||
|
||||
|
||||
2.5. Other machines
|
||||
-------------------
|
||||
For systems in which MPI and/or MPI-IO are not part of system library
|
||||
or I want to use my own version of MPI or MPIO libraries, use the
|
||||
following steps.
|
||||
|
||||
|
||||
mpi1_inc="" #mpi-1 include
|
||||
@@ -61,17 +68,19 @@ mpio_lib="-L$HOME/ROMIO/lib/IRIX64" #mpio library
|
||||
MPI_INC="$mpio_inc $mpi1_inc"
|
||||
MPI_LIB="$mpio_lib $mpi1_lib"
|
||||
|
||||
#for version 1.1
|
||||
# Specify where to find the MPI and/or MPI-IO headers and libraries
|
||||
CPPFLAGS=$MPI_INC
|
||||
export CPPFLAGS
|
||||
LDFLAGS=$MPI_LIB
|
||||
export LDFLAGS
|
||||
RUNPARALLEL="mpirun -np 2"
|
||||
export RUNPARALLEL
|
||||
LIBS="-lmpio -lmpi"
|
||||
export LIBS
|
||||
|
||||
./configure --enable-parallel --disable-shared --prefix=$PWD/installdir
|
||||
# Specify how to run MPI parallel jobs
|
||||
RUNPARALLEL="mpirun -np 2"
|
||||
export RUNPARALLEL
|
||||
|
||||
./configure --enable-parallel --prefix=$PWD/installdir
|
||||
make
|
||||
make check
|
||||
make install
|
||||
@@ -79,9 +88,40 @@ make install
|
||||
|
||||
3. Detail explanation
|
||||
---------------------
|
||||
[Work in progress. Please send mail to hdfparallel@ncsa.uiuc.edu.]
|
||||
The HDF5 library can be configured to use MPI and MPI-IO for
|
||||
parallelizm on a distributed multi-processor system. The easy
|
||||
way to do this is to have a properly installed parallel
|
||||
compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
|
||||
executable as the value of the CC environment variable:
|
||||
|
||||
$ CC=mpcc ./configure
|
||||
$ CC=/usr/local/mpi/bin/mpicc ./configure
|
||||
|
||||
If no such wrapper script is available then you must specify
|
||||
your normal C compiler along with the distribution of
|
||||
MPI/MPI-IO which is to be used (values other than `mpich' will
|
||||
be added at a later date):
|
||||
|
||||
$ ./configure --enable-parallel=mpich
|
||||
|
||||
If the MPI/MPI-IO include files and/or libraries cannot be
|
||||
found by the compiler then their directories must be given as
|
||||
arguments to CPPFLAGS and/or LDFLAGS:
|
||||
|
||||
$ CPPFLAGS=-I/usr/local/mpi/include \
|
||||
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
|
||||
./configure --enable-parallel=mpich
|
||||
|
||||
If a parallel library is being built then configure attempts
|
||||
to determine how to run a parallel application on one
|
||||
processor and on many processors. If the compiler is mpicc
|
||||
and the user hasn't specified values for RUNSERIAL and
|
||||
RUNPARALLEL then configure chooses `mpirun' from the same
|
||||
directory as `mpicc':
|
||||
|
||||
RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
|
||||
RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
|
||||
|
||||
The `$${NPROCS:=2}' will be substituted with the value of the
|
||||
NPROCS environment variable at the time `make check' is run
|
||||
(or the value 2).
|
||||
|
||||
266
MANIFEST
@@ -6,12 +6,11 @@
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
./COPYING
|
||||
./HISTORY
|
||||
./INSTALL
|
||||
./INSTALL.ascired
|
||||
./INSTALL.ibm.sp.parallel
|
||||
./INSTALL_MAINT
|
||||
./INSTALL_TFLOPS
|
||||
./INSTALL_parallel
|
||||
./INSTALL_parallel.ascired
|
||||
./INSTALL_Windows.txt
|
||||
./MANIFEST
|
||||
./Makefile.dist
|
||||
./Makefile.in
|
||||
@@ -25,8 +24,11 @@
|
||||
|
||||
./bin/checkapi _DO_NOT_DISTRIBUTE_
|
||||
./bin/checkposix _DO_NOT_DISTRIBUTE_
|
||||
./bin/chkmanifest
|
||||
./bin/config.guess
|
||||
./bin/config.sub
|
||||
./bin/config_para_ibm_sp.sh
|
||||
./bin/config_para_tflops.sh
|
||||
./bin/debug-ohdr _DO_NOT_DISTRIBUTE_
|
||||
./bin/distdep
|
||||
./bin/errors _DO_NOT_DISTRIBUTE_
|
||||
@@ -49,6 +51,7 @@
|
||||
./config/freebsd
|
||||
./config/gnu-flags
|
||||
./config/hpux10.20
|
||||
./config/hpux11.00
|
||||
./config/hpux9.03
|
||||
./config/intel-osf1
|
||||
./config/irix5.x
|
||||
@@ -57,12 +60,17 @@
|
||||
./config/linux-gnulibc1
|
||||
./config/linux-gnulibc2
|
||||
./config/powerpc-ibm-aix4.x
|
||||
./config/powerpc-ibm-aix4.2.1.0
|
||||
./config/powerpc-ibm-aix4.3.2.0
|
||||
./config/rs6000-ibm-aix4.x
|
||||
./config/solaris2.x
|
||||
./config/unicos
|
||||
./config/unicosmk
|
||||
|
||||
./doc/Makefile.in
|
||||
./doc/html/ADGuide.html
|
||||
./doc/html/ADGuide/H4toH5Mapping.pdf
|
||||
./doc/html/Attributes.html
|
||||
./doc/html/Big.html
|
||||
./doc/html/Caching.html
|
||||
./doc/html/Chunking.html
|
||||
./doc/html/Chunk_f1.gif
|
||||
@@ -74,21 +82,21 @@
|
||||
./doc/html/Chunk_f5.gif
|
||||
./doc/html/Chunk_f6.gif
|
||||
./doc/html/Chunk_f6.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/CodeReview.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/Coding.html
|
||||
./doc/html/Copyright.html
|
||||
./doc/html/Datasets.html
|
||||
./doc/html/Dataspaces.html
|
||||
./doc/html/Datatypes.html
|
||||
./doc/html/DatatypesEnum.html
|
||||
./doc/html/ddl.html
|
||||
./doc/html/Debugging.html
|
||||
./doc/html/EnumMap.gif
|
||||
./doc/html/Environment.html
|
||||
./doc/html/Errors.html
|
||||
./doc/html/ExternalFiles.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/FF-IH_FileGroup.gif
|
||||
./doc/html/FF-IH_FileObject.gif
|
||||
./doc/html/Files.html
|
||||
./doc/html/Filters.html
|
||||
./doc/html/FF-IH_FileGroup.gif
|
||||
./doc/html/FF-IH_FileObject.gif
|
||||
./doc/html/Glossary.html
|
||||
./doc/html/Groups.html
|
||||
./doc/html/H5.api_map.html
|
||||
@@ -96,17 +104,25 @@
|
||||
./doc/html/H5.intro.html
|
||||
./doc/html/H5.sample_code.html
|
||||
./doc/html/H5.user.html
|
||||
./doc/html/H5.user.PrintGen.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/H5.user.PrintTpg.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/IH_map1.gif
|
||||
./doc/html/IH_map2.gif
|
||||
./doc/html/IH_map3.gif
|
||||
./doc/html/IH_map4.gif
|
||||
./doc/html/IH_mapFoot.gif
|
||||
./doc/html/IH_mapHead.gif
|
||||
./doc/html/IOPipe.html
|
||||
./doc/html/MemoryManagement.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/ImageSpec.html
|
||||
./doc/html/Makefile.in
|
||||
./doc/html/MountingFiles.html
|
||||
./doc/html/NCSAfooterlogo.gif
|
||||
./doc/html/ObjectHeader.txt _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/PaletteExample1.gif
|
||||
./doc/html/Palettes.fm.anc.gif
|
||||
./doc/html/Performance.html
|
||||
./doc/html/Properties.html
|
||||
./doc/html/PSandPDF/H5-Rx.x.DocSet.pdf
|
||||
./doc/html/PSandPDF/index.html
|
||||
./doc/html/PSandPDF/process.txt _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/Ragged.html
|
||||
./doc/html/References.html
|
||||
./doc/html/RM_H5.html
|
||||
@@ -123,11 +139,199 @@
|
||||
./doc/html/RM_H5S.html
|
||||
./doc/html/RM_H5T.html
|
||||
./doc/html/RM_H5Z.html
|
||||
|
||||
./doc/html/TechNotes.html
|
||||
./doc/html/TechNotes/BigDataSmMach.html
|
||||
./doc/html/TechNotes/ChStudy_1000x1000.gif
|
||||
./doc/html/TechNotes/ChStudy_250x250.gif
|
||||
./doc/html/TechNotes/ChStudy_499x499.gif
|
||||
./doc/html/TechNotes/ChStudy_5000x1000.gif
|
||||
./doc/html/TechNotes/ChStudy_500x500.gif
|
||||
./doc/html/TechNotes/ChStudy_p1.gif
|
||||
./doc/html/TechNotes/ChStudy_p1.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/ChunkingStudy.html
|
||||
./doc/html/TechNotes/CodeReview.html
|
||||
./doc/html/TechNotes/ExternalFiles.html
|
||||
./doc/html/TechNotes/FreeLists.html
|
||||
./doc/html/TechNotes/H4-H5Compat.html
|
||||
./doc/html/TechNotes/HeapMgmt.html
|
||||
./doc/html/TechNotes/IOPipe.html
|
||||
./doc/html/TechNotes/LibMaint.html
|
||||
./doc/html/TechNotes/MemoryMgmt.html
|
||||
./doc/html/TechNotes/MoveDStruct.html
|
||||
./doc/html/TechNotes/NamingScheme.html
|
||||
./doc/html/TechNotes/ObjectHeader.html
|
||||
./doc/html/TechNotes/RawDStorage.html
|
||||
./doc/html/TechNotes/SymbolTables.html
|
||||
./doc/html/TechNotes/Version.html
|
||||
./doc/html/TechNotes/pipe1.gif
|
||||
./doc/html/TechNotes/pipe1.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/pipe2.gif
|
||||
./doc/html/TechNotes/pipe2.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/pipe3.gif
|
||||
./doc/html/TechNotes/pipe3.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/pipe4.gif
|
||||
./doc/html/TechNotes/pipe4.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/pipe5.gif
|
||||
./doc/html/TechNotes/pipe5.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/TechNotes/version.gif
|
||||
./doc/html/TechNotes/version.obj _DO_NOT_DISTRIBUTE_
|
||||
|
||||
./doc/html/Tools.html
|
||||
./doc/html/Version.html
|
||||
|
||||
./doc/html/Tutor/Contents.html
|
||||
./doc/html/Tutor/ContentsAdd.html
|
||||
./doc/html/Tutor/ContentsAdv.html
|
||||
./doc/html/Tutor/ContentsFull.html
|
||||
./doc/html/Tutor/ContentsIntro.html
|
||||
./doc/html/Tutor/Copyright.html
|
||||
./doc/html/Tutor/Graphics/AddInfo.gif
|
||||
./doc/html/Tutor/Graphics/AdvTopics.gif
|
||||
./doc/html/Tutor/Graphics/BLANK.gif
|
||||
./doc/html/Tutor/Graphics/ChunkExt.gif
|
||||
./doc/html/Tutor/Graphics/CompDTypes.gif
|
||||
./doc/html/Tutor/Graphics/Copy.gif
|
||||
./doc/html/Tutor/Graphics/CreateAttr.gif
|
||||
./doc/html/Tutor/Graphics/CreateDset1.gif
|
||||
./doc/html/Tutor/Graphics/CreateDset2.gif
|
||||
./doc/html/Tutor/Graphics/CreateFile.gif
|
||||
./doc/html/Tutor/Graphics/CreateGrp1.gif
|
||||
./doc/html/Tutor/Graphics/CreateGrp2.gif
|
||||
./doc/html/Tutor/Graphics/Examples.gif
|
||||
./doc/html/Tutor/Graphics/FileOrg.gif
|
||||
./doc/html/Tutor/Graphics/FullTOC1.gif
|
||||
./doc/html/Tutor/Graphics/FullTOC2.gif
|
||||
./doc/html/Tutor/Graphics/Glossary.gif
|
||||
./doc/html/Tutor/Graphics/H5API.gif
|
||||
./doc/html/Tutor/Graphics/Intro.gif
|
||||
./doc/html/Tutor/Graphics/IntroTopics.gif
|
||||
./doc/html/Tutor/Graphics/Iterate.gif
|
||||
./doc/html/Tutor/Graphics/Makefile.in
|
||||
./doc/html/Tutor/Graphics/MountFile.gif
|
||||
./doc/html/Tutor/Graphics/Quiz.gif
|
||||
./doc/html/Tutor/Graphics/QuizAns.gif
|
||||
./doc/html/Tutor/Graphics/RdWrDataset.gif
|
||||
./doc/html/Tutor/Graphics/RefObject.gif
|
||||
./doc/html/Tutor/Graphics/RefRegion.gif
|
||||
./doc/html/Tutor/Graphics/References.gif
|
||||
./doc/html/Tutor/Graphics/SelectElemCp.gif
|
||||
./doc/html/Tutor/Graphics/SelectHyp.gif
|
||||
./doc/html/Tutor/Graphics/TOC.gif
|
||||
./doc/html/Tutor/Graphics/TOCFull.gif
|
||||
./doc/html/Tutor/Graphics/TOCShort.gif
|
||||
./doc/html/Tutor/Graphics/TitlePg.gif
|
||||
./doc/html/Tutor/Graphics/Utilities.gif
|
||||
./doc/html/Tutor/H5DocInsert _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/Tutor/Makefile.in
|
||||
./doc/html/Tutor/answers.html
|
||||
./doc/html/Tutor/api.html
|
||||
./doc/html/Tutor/bighdf2sp.JPG
|
||||
./doc/html/Tutor/compound.html
|
||||
./doc/html/Tutor/crtatt.html
|
||||
./doc/html/Tutor/crtdat.html
|
||||
./doc/html/Tutor/crtfile.html
|
||||
./doc/html/Tutor/crtgrp.html
|
||||
./doc/html/Tutor/crtgrpar.html
|
||||
./doc/html/Tutor/crtgrpd.html
|
||||
./doc/html/Tutor/examples/Makefile.in
|
||||
./doc/html/Tutor/examples/attrexample.f90
|
||||
./doc/html/Tutor/examples/chunk.f90
|
||||
./doc/html/Tutor/examples/dsetexample.f90
|
||||
./doc/html/Tutor/examples/fileexample.f90
|
||||
./doc/html/Tutor/examples/groupexample.f90
|
||||
./doc/html/Tutor/examples/grpdsetexample.f90
|
||||
./doc/html/Tutor/examples/grpit.f90
|
||||
./doc/html/Tutor/examples/grpsexample.f90
|
||||
./doc/html/Tutor/examples/h5_compound.c
|
||||
./doc/html/Tutor/examples/h5_copy.c
|
||||
./doc/html/Tutor/examples/h5_crtatt.c
|
||||
./doc/html/Tutor/examples/h5_crtdat.c
|
||||
./doc/html/Tutor/examples/h5_crtfile.c
|
||||
./doc/html/Tutor/examples/h5_crtgrp.c
|
||||
./doc/html/Tutor/examples/h5_crtgrpar.c
|
||||
./doc/html/Tutor/examples/h5_crtgrpd.c
|
||||
./doc/html/Tutor/examples/h5_extend.c
|
||||
./doc/html/Tutor/examples/h5_hyperslab.c
|
||||
./doc/html/Tutor/examples/h5_iterate.c
|
||||
./doc/html/Tutor/examples/h5_mount.c
|
||||
./doc/html/Tutor/examples/h5_rdwt.c
|
||||
./doc/html/Tutor/examples/h5_read.c
|
||||
./doc/html/Tutor/examples/h5_ref2objr.c
|
||||
./doc/html/Tutor/examples/h5_ref2objw.c
|
||||
./doc/html/Tutor/examples/h5_ref2regr.c
|
||||
./doc/html/Tutor/examples/h5_ref2regw.c
|
||||
./doc/html/Tutor/examples/h5_reference.c
|
||||
./doc/html/Tutor/examples/hyperslab.f90
|
||||
./doc/html/Tutor/examples/java/Compound.java
|
||||
./doc/html/Tutor/examples/java/Copy.java
|
||||
./doc/html/Tutor/examples/java/CreateAttribute.java
|
||||
./doc/html/Tutor/examples/java/CreateDataset.java
|
||||
./doc/html/Tutor/examples/java/CreateFile.java
|
||||
./doc/html/Tutor/examples/java/CreateFileInput.java
|
||||
./doc/html/Tutor/examples/java/CreateGroup.java
|
||||
./doc/html/Tutor/examples/java/CreateGroupAR.java
|
||||
./doc/html/Tutor/examples/java/CreateGroupDataset.java
|
||||
./doc/html/Tutor/examples/java/DatasetRdWt.java
|
||||
./doc/html/Tutor/examples/java/HyperSlab.java
|
||||
./doc/html/Tutor/examples/java/Makefile
|
||||
./doc/html/Tutor/examples/java/Makefile.in
|
||||
./doc/html/Tutor/examples/java/README
|
||||
./doc/html/Tutor/examples/java/readme.html
|
||||
./doc/html/Tutor/examples/java/runCompound.sh
|
||||
./doc/html/Tutor/examples/java/runCompound.sh.in
|
||||
./doc/html/Tutor/examples/java/runCopy.sh
|
||||
./doc/html/Tutor/examples/java/runCopy.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateAttribute.sh
|
||||
./doc/html/Tutor/examples/java/runCreateAttribute.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateDataset.sh
|
||||
./doc/html/Tutor/examples/java/runCreateDataset.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateFile.sh
|
||||
./doc/html/Tutor/examples/java/runCreateFile.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateFileInput.sh
|
||||
./doc/html/Tutor/examples/java/runCreateFileInput.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateGroup.sh
|
||||
./doc/html/Tutor/examples/java/runCreateGroup.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateGroupAR.sh
|
||||
./doc/html/Tutor/examples/java/runCreateGroupAR.sh.in
|
||||
./doc/html/Tutor/examples/java/runCreateGroupDataset.sh
|
||||
./doc/html/Tutor/examples/java/runCreateGroupDataset.sh.in
|
||||
./doc/html/Tutor/examples/java/runDatasetRdWt.sh
|
||||
./doc/html/Tutor/examples/java/runDatasetRdWt.sh.in
|
||||
./doc/html/Tutor/examples/java/runHyperSlab.sh
|
||||
./doc/html/Tutor/examples/java/runHyperSlab.sh.in
|
||||
./doc/html/Tutor/examples/mount.f90
|
||||
./doc/html/Tutor/examples/refobjexample.f90
|
||||
./doc/html/Tutor/examples/refregexample.f90
|
||||
./doc/html/Tutor/examples/rwdsetexample.f90
|
||||
./doc/html/Tutor/examples/selectele.f90
|
||||
./doc/html/Tutor/extend.html
|
||||
./doc/html/Tutor/fileorg.html
|
||||
./doc/html/Tutor/glossary.html
|
||||
./doc/html/Tutor/img001.gif
|
||||
./doc/html/Tutor/img002.gif
|
||||
./doc/html/Tutor/img003.gif
|
||||
./doc/html/Tutor/img004.gif
|
||||
./doc/html/Tutor/img005.gif
|
||||
./doc/html/Tutor/index.html
|
||||
./doc/html/Tutor/intro.html
|
||||
./doc/html/Tutor/iterate.html
|
||||
./doc/html/Tutor/iterator.txt
|
||||
./doc/html/Tutor/mount.html
|
||||
./doc/html/Tutor/questions.html
|
||||
./doc/html/Tutor/rdwt.html
|
||||
./doc/html/Tutor/references.html
|
||||
./doc/html/Tutor/reftoobj.html
|
||||
./doc/html/Tutor/reftoreg.html
|
||||
./doc/html/Tutor/select.html
|
||||
./doc/html/Tutor/selectc.html
|
||||
./doc/html/Tutor/title.html
|
||||
./doc/html/Tutor/util.html
|
||||
|
||||
./doc/html/XML_DTD.html
|
||||
./doc/html/XML_DTD/DesignNotes.html
|
||||
|
||||
./doc/html/chunk1.gif
|
||||
./doc/html/chunk1.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/compat.html
|
||||
./doc/html/dataset_p1.gif
|
||||
./doc/html/dataset_p1.obj
|
||||
./doc/html/extern1.gif
|
||||
@@ -145,25 +349,9 @@
|
||||
./doc/html/ph5design.html
|
||||
./doc/html/ph5example.c
|
||||
./doc/html/ph5implement.txt
|
||||
./doc/html/pipe1.gif
|
||||
./doc/html/pipe1.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/pipe2.gif
|
||||
./doc/html/pipe2.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/pipe3.gif
|
||||
./doc/html/pipe3.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/pipe4.gif
|
||||
./doc/html/pipe4.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/pipe5.gif
|
||||
./doc/html/pipe5.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/heap.txt _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/index.html
|
||||
./doc/html/move.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/review1.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/review1a.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/storage.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/symtab _DO_NOT_DISTRIBUTE_
|
||||
./doc/html/version.gif
|
||||
./doc/html/version.obj _DO_NOT_DISTRIBUTE_
|
||||
./doc/src/Copyright.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/src/Glossary.html _DO_NOT_DISTRIBUTE_
|
||||
./doc/src/H5.intro.doc _DO_NOT_DISTRIBUTE_
|
||||
@@ -245,6 +433,9 @@
|
||||
./src/H5Fsec2.c
|
||||
./src/H5Fsplit.c
|
||||
./src/H5Fstdio.c
|
||||
./src/H5FL.c
|
||||
./src/H5FLprivate.h
|
||||
./src/H5FLpublic.h
|
||||
./src/H5G.c
|
||||
./src/H5Gent.c
|
||||
./src/H5Gnode.c
|
||||
@@ -308,8 +499,6 @@
|
||||
./src/H5Tprivate.h
|
||||
./src/H5Tpublic.h
|
||||
./src/H5Tvlen.c
|
||||
./src/H5TB.c
|
||||
./src/H5TBprivate.h
|
||||
./src/H5V.c
|
||||
./src/H5Vprivate.h
|
||||
./src/H5Z.c
|
||||
@@ -358,6 +547,7 @@
|
||||
./test/tfile.c
|
||||
./test/th5s.c
|
||||
./test/th5s.h5
|
||||
./test/titerate.c
|
||||
./test/tmeta.c
|
||||
./test/trefer.c
|
||||
./test/tselect.c
|
||||
@@ -365,21 +555,18 @@
|
||||
./test/unlink.c
|
||||
|
||||
./testpar/Makefile.in
|
||||
./testpar/Makefile.ibmsp
|
||||
./testpar/README
|
||||
./testpar/t_dset.c
|
||||
./testpar/t_file.c
|
||||
./testpar/t_mpi.c
|
||||
./testpar/testphdf5.c
|
||||
./testpar/testphdf5.h
|
||||
|
||||
./tools/.distdep
|
||||
./tools/Makefile.in
|
||||
./tools/h5debug.c
|
||||
./tools/h5dump.c
|
||||
./tools/h5dump.h
|
||||
./tools/h5dumptst.c
|
||||
./tools/h5dumputil.c
|
||||
./tools/h5findshd.c
|
||||
./tools/h5import.c
|
||||
./tools/h5ls.c
|
||||
./tools/h5repart.c
|
||||
@@ -398,6 +585,8 @@
|
||||
./tools/testfiles/tattr-2.ddl
|
||||
./tools/testfiles/tattr-3.ddl
|
||||
./tools/testfiles/tattr.h5
|
||||
./tools/testfiles/tbitfields-1.ddl
|
||||
./tools/testfiles/tbitfields.h5
|
||||
./tools/testfiles/tcomp-1.ddl
|
||||
./tools/testfiles/tcomp-2.ddl
|
||||
./tools/testfiles/tcomp-3.ddl
|
||||
@@ -424,8 +613,12 @@
|
||||
./tools/testfiles/tloop.h5
|
||||
./tools/testfiles/tloop2.h5
|
||||
./tools/testfiles/tmany.h5
|
||||
./tools/testfiles/tnestcomp-1.ddl
|
||||
./tools/testfiles/tnestedcomp.h5
|
||||
./tools/testfiles/tobjref.h5
|
||||
./tools/testfiles/tobjref.ddl
|
||||
./tools/testfiles/topaque.h5
|
||||
./tools/testfiles/topaque.ddl
|
||||
./tools/testfiles/tslink-1.ddl
|
||||
./tools/testfiles/tslink-2.ddl
|
||||
./tools/testfiles/tslink.h5
|
||||
@@ -446,3 +639,4 @@
|
||||
./tools/testfiles/Expected/tslink.hdf
|
||||
./tools/testfiles/Expected/tstr.hdf
|
||||
./tools/testfiles/Expected/tstr2.hdf
|
||||
|
||||
|
||||
@@ -105,10 +105,9 @@ distclean:
|
||||
-$(RM) config/commence config/conclude config/depend
|
||||
-$(RM) config.cache config.log config.status src/H5config.h
|
||||
-$(RM) config/stamp1 config/stamp2 libtool Makefile
|
||||
-$(CP) Makefile.dist Makefile
|
||||
|
||||
maintainer-clean:
|
||||
@echo "This command is intented for maintainers to use;"
|
||||
@echo "This target is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
@@SETX@; for d in $(SUBDIRS) examples pablo; do \
|
||||
(cd $$d && $(MAKE) $@); \
|
||||
|
||||
35
README
@@ -1,36 +1,39 @@
|
||||
This is hdf5-1.1.110 currently under development
|
||||
This is hdf5-1.2.2 released on Fri Jun 23 10:49:46 CDT 2000
|
||||
Please refer to the INSTALL file for installation instructions.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
This release is almost fully functional for the entire API defined in the
|
||||
documentation, see the RELEASE file in this directory for information
|
||||
This release is fully functional for the entire API defined in the
|
||||
documentation. See the RELEASE file in this directory for information
|
||||
specific to this release of the library. The INSTALL file contains
|
||||
instructions on compiling and installing the library. The INSTALL_parallel
|
||||
file contains instructions on installing the parallel version of the
|
||||
library.
|
||||
library. The INSTALL_Windows.txt contains instructions on installing the HDF5
|
||||
library on Windows/NT platforms. The HISTORY file contains complete
|
||||
information about changes since the first release of the HDF5 library.
|
||||
|
||||
Documentation for this release is in the html directory. Start with the
|
||||
"index.html" in that dictectory.
|
||||
Documentation for this release is in the doc/html directory. Start with the
|
||||
"index.html" in that directory.
|
||||
|
||||
Four mailing lists are currently set up for use with the HDF5
|
||||
library.
|
||||
|
||||
hdf5 - For general discussion of the HDF5 library with
|
||||
other users.
|
||||
other users.
|
||||
|
||||
hdf5dev - For discussion of the HDF5 library development
|
||||
with developers and other interested parties.
|
||||
with developers and other interested parties.
|
||||
|
||||
hdf5announce - For announcements of HDF5 related developments,
|
||||
not a discussion list.
|
||||
hdf5announce - For announcements of HDF5 related developments -
|
||||
not a discussion list.
|
||||
|
||||
hdf5cvs - For checkin notices of code development on the library,
|
||||
not a discussion list.
|
||||
hdf5cvs - For checking notices of code development in the library -
|
||||
not a discussion list.
|
||||
|
||||
To subscribe to a list, send mail to "<list>-request@ncsa.uiuc.edu",
|
||||
(e.g., hdf5-request@ncsa.uiuc.edu) with "subscribe <your e-mail
|
||||
address> in the _body_ of the message. Messages to be sent to
|
||||
the list should be sent to "<list>@ncsa.uiuc.edu".
|
||||
To subscribe to a list, send mail to "majordomo@ncsa.uiuc.edu",
|
||||
with "subscribe <list>" in the _body_, not the Subject, of the message.
|
||||
E.g., subscribe hdf5
|
||||
|
||||
Messages to be sent to the list should be sent to "<list>@ncsa.uiuc.edu".
|
||||
|
||||
Nearly daily code snapshots are now being provided at the following URL:
|
||||
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots
|
||||
|
||||
513
RELEASE
@@ -1,402 +1,119 @@
|
||||
Release information for hdf5-1.1.x
|
||||
------------------------------------
|
||||
|
||||
CHANGES SINCE THE Version 1.0.0 RELEASE
|
||||
|
||||
HDF5 Release 1.2.2
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
This document describes the differences between HDF5-1.2.1 and
|
||||
HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2
|
||||
was tested and known problems in HDF5-1.2.2.
|
||||
|
||||
The HDF5 documentation can be found on the NCSA ftp server
|
||||
(ftp.ncsa.uiuc.edu) in the directory:
|
||||
|
||||
/HDF/HDF5/docs/
|
||||
|
||||
For more information look at the HDF5 home page at:
|
||||
|
||||
http://hdf.ncsa.uiuc.edu/HDF5/
|
||||
|
||||
If you have any questions or comments, please send them to:
|
||||
|
||||
hdfhelp@ncsa.uiuc.edu
|
||||
|
||||
|
||||
CONTENTS
|
||||
|
||||
- Features Added since HDF5-1.2.1
|
||||
- Bug Fixes since HDF5-1.2.1
|
||||
- Known Problems
|
||||
- Platforms Tested
|
||||
|
||||
|
||||
Features Added since HDF5-1.2.1
|
||||
===============================
|
||||
* Added internal free-lists to reduce memory required by the library and
|
||||
H5garbage_collect API function.
|
||||
* h5dump displays opaque and bitfield types.
|
||||
* New features added to snapshots. Use 'snapshot help' to see a
|
||||
complete list of features.
|
||||
* Improved configure to detect if MPIO routines are available when
|
||||
parallel mode is requested.
|
||||
|
||||
Bug Fixes since HDF5-1.2.1
|
||||
==========================
|
||||
* h5dump correctly displays compound datatypes, including simple and
|
||||
nested compound types.
|
||||
* h5dump correctly displays the committed copy of predefined types.
|
||||
* Corrected an error in h5toh4 which did not convert the 32-bit
|
||||
int from HDF5 to HDF4 correctly for the T3E platform.
|
||||
* Corrected a floating point number conversion error for the
|
||||
Cray J90 platform. The error did not convert the value 0.0
|
||||
correctly.
|
||||
* Fixed error in H5Giterate which was not updating the "index" parameter
|
||||
correctly.
|
||||
* Fixed error in hyperslab iteration which was not walking through the
|
||||
correct sequence of array elements if hyperslabs were staggered in a
|
||||
certain pattern.
|
||||
* Fixed several other problems in hyperslab iteration code.
|
||||
* Fixed another H5Giterate bug which caused groups with large numbers
|
||||
of objects in them to misbehave when the callback function returned
|
||||
non-zero values.
|
||||
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
|
||||
herr_t, to align them with the dataset and group iterator functions.
|
||||
* Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions
|
||||
of size 0 without the same dimension being unlimited.
|
||||
* Improved metadata hashing & caching algorithms to avoid
|
||||
many hash flushes and also removed some redundant I/O when moving metadata
|
||||
blocks in the file.
|
||||
* The libhdf5.settings file shows the correct machine byte-sex.
|
||||
* The "struct(opt)" type conversion function which gets invoked for
|
||||
certain compound datatype conversions was fixed for nested compound
|
||||
types. This required a small change in the datatype conversion
|
||||
function API.
|
||||
|
||||
Known Problems
|
||||
==============
|
||||
|
||||
o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will
|
||||
fail if library is compiled using optimization of any level.
|
||||
o TFLOPS: dsets test fails if compiled with optimization turned on.
|
||||
o J90: tools fail to dispay data for the datasets with a compound datatype.
|
||||
|
||||
Platforms Tested
|
||||
================
|
||||
|
||||
AIX 4.3.3 (IBM SP) 3.6.6 | binaries
|
||||
mpicc using mpich 1.1.2 | are not
|
||||
mpicc_r using IBM MPI-IO prototype | available
|
||||
AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0
|
||||
Cray J90 10.0.0.7 cc 6.3.0.2
|
||||
Cray T3E 2.0.5.29 cc 6.3.0.2
|
||||
mpt.1.3
|
||||
FreeBSD 4.0 gcc 2.95.2
|
||||
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
||||
HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler
|
||||
(static library only, h5toh4 tool is not available)
|
||||
IRIX 6.5 MIPSpro cc 7.30
|
||||
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
||||
mpt.1.4
|
||||
|
||||
Linux 2.2.10 SMP gcc 2.95.1
|
||||
mpicc(gcc-2.95.1)
|
||||
gcc (egcs-2.91.66)
|
||||
mpicc (egcs-2.91.66)
|
||||
Linux 2.2.16 (RedHat 6.2) gcc 2.95.2
|
||||
|
||||
OSF1 V4.0 DEC-V5.2-040
|
||||
SunOS 5.6 cc WorkShop Compilers 5.0 no optimization
|
||||
SunOS 5.7 cc WorkShop Compilers 5.0
|
||||
SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet
|
||||
TFLOPS 3.2.1 pgcc Rel 3.1-3i
|
||||
mpich-1.1.2 with local changes
|
||||
Windows NT4.0 sp5 MSVC++ 6.0
|
||||
Windows 98 MSVC++ 6.0
|
||||
Windows 2000 MSVC++ 6.0
|
||||
|
||||
* [Improvement]: configure sets up the Makefile in the parallel tests
|
||||
suit (testpar/) correctly. (Tested for O2K only.)
|
||||
|
||||
* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
|
||||
It now configures correctly for all IRIX 6.x version.
|
||||
|
||||
CHANGES SINCE THE BETA RELEASE
|
||||
|
||||
* Added fill values for datasets. For contiguous datasets fill value
|
||||
performance may be quite poor since the fill value is written to the
|
||||
entire dataset when the dataset is created. This will be remedied
|
||||
in a future version. Chunked datasets using fill values do not
|
||||
incur any additional overhead. See H5Pset_fill_value().
|
||||
|
||||
* Multiple hdf5 files can be "mounted" on one another to create a
|
||||
larger virtual file. See H5Fmount().
|
||||
|
||||
* Object names can be removed or changed but objects are never
|
||||
actually removed from the file yet. See H5Gunlink() and H5Gmove().
|
||||
|
||||
* Added a tuning mechanism for B-trees to insure that sequential
|
||||
writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
|
||||
|
||||
* Various optimizations and bug fixes.
|
||||
|
||||
|
||||
CHANGES SINCE THE SECOND ALPHA
|
||||
|
||||
* Strided hyperslab selections in dataspaces now working.
|
||||
|
||||
* The compression API has been replaced with a more general filter
|
||||
API. See doc/html/Filters.html for details.
|
||||
|
||||
* Alpha-quality 2d ragged arrays are implemented as a layer built on
|
||||
top of other hdf5 objects. The API and storage format will almost
|
||||
certainly change.
|
||||
|
||||
* More debugging support including API tracing. See Debugging.html.
|
||||
|
||||
* C and Fortran style 8-bit fixed-length character string types are
|
||||
supported with space or null padding or null termination and
|
||||
translations between them.
|
||||
|
||||
* Added function H5Fflush() to write all cached data immediately to
|
||||
the file.
|
||||
|
||||
* Datasets maintain a modification time which can be retrieved with
|
||||
H5Gstat().
|
||||
|
||||
* The h5ls tool can display much more information, including all the
|
||||
values of a dataset.
|
||||
|
||||
CHANGES SINCE THE FIRST ALPHA
|
||||
|
||||
* Two of the packages have been renamed. The data space API has been
|
||||
renamed from `H5P' to `H5S' and the property list (template) API has
|
||||
been renamed from `H5C' to `H5P'.
|
||||
|
||||
* The new attribute API `H5A' has been added. An attribute is a small
|
||||
dataset which can be attached to some other object (for instance, a
|
||||
4x4 transformation matrix attached to a 3-dimensional dataset, or an
|
||||
English abstract attached to a group).
|
||||
|
||||
* The error handling API `H5E' has been completed. By default, when an
|
||||
API function returns failure an error stack is displayed on the
|
||||
standard error stream. The H5Eset_auto() controls the automatic
|
||||
printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
|
||||
disable the automatic error printing.
|
||||
|
||||
* Support for large files and datasets (>2GB) has been added. There
|
||||
is an html document that describes how it works. Some of the types
|
||||
for function arguments have changed to support this: all arguments
|
||||
pertaining to sizes of memory objects are `size_t' and all arguments
|
||||
pertaining to file sizes are `hsize_t'.
|
||||
|
||||
* More data type conversions have been added although none of them are
|
||||
fine tuned for performance. There are new converters from integer
|
||||
to integer and float to float, but not between integers and floating
|
||||
points. A bug has been fixed in the converter between compound
|
||||
types.
|
||||
|
||||
* The numbered types have been removed from the API: int8, uint8,
|
||||
int16, uint16, int32, uint32, int64, uint64, float32, and float64.
|
||||
Use standard C types instead. Similarly, the numbered types were
|
||||
removed from the H5T_NATIVE_* architecture; use unnumbered types
|
||||
which correspond to the standard C types like H5T_NATIVE_INT.
|
||||
|
||||
* More debugging support was added. If tracing is enabled at
|
||||
configuration time (the default) and the HDF5_TRACE environment
|
||||
variable is set to a file descriptor then all API calls will emit
|
||||
the function name, argument names and values, and return value on
|
||||
that file number. There is an html document that describes this.
|
||||
If appropriate debugging options are enabled at configuration time,
|
||||
some packages will display performance information on stderr.
|
||||
|
||||
* Data types can be stored in the file as independent objects and
|
||||
multiple datasets can share a data type.
|
||||
|
||||
* The raw data I/O stream has been implemented and the application can
|
||||
control meta and raw data caches, so I/O performance should be
|
||||
improved from the first alpha release.
|
||||
|
||||
* Group and attribute query functions have been implemented so it is
|
||||
now possible to find out the contents of a file with no prior
|
||||
knowledge.
|
||||
|
||||
* External raw data storage allows datasets to be written by other
|
||||
applications or I/O libraries and described and accessed through
|
||||
HDF5.
|
||||
|
||||
* Hard and soft (symbolic) links are implemented which allow groups to
|
||||
share objects. Dangling and recursive symbolic links are supported.
|
||||
|
||||
* User-defined data compression is implemented although we may
|
||||
generalize the interface to allow arbitrary user-defined filters
|
||||
which can be used for compression, checksums, encryption,
|
||||
performance monitoring, etc. The publicly-available `deflate'
|
||||
method is predefined if the GNU libz.a can be found at configuration
|
||||
time.
|
||||
|
||||
* The configuration scripts have been modified to make it easier to
|
||||
build debugging vs. production versions of the library.
|
||||
|
||||
* The library automatically checks that the application was compiled
|
||||
with the correct version of header files.
|
||||
|
||||
|
||||
Parallel HDF5 Changes
|
||||
|
||||
* Parallel support for fixed dimension datasets with contiguous or
|
||||
chunked storages. Also, support unlimited dimension datasets which
|
||||
must use chunk storage. No parallel support for compressed datasets.
|
||||
|
||||
* Collective data transfer for H5Dread/H5Dwrite. Collective access
|
||||
support for datasets with contiguous storage only, thus only fixed
|
||||
dimension datasets for now.
|
||||
|
||||
* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
|
||||
argument. It is taken over by the data-transfer property list
|
||||
of H5Dread/H5Dwrite.
|
||||
|
||||
* New functions H5Pset_xfer and H5Pget_xfer to handle the
|
||||
specification of independent or collective data transfer_mode
|
||||
in the dataset transfer properties list. The properties
|
||||
list can be used to specify data transfer mode in the H5Dwrite
|
||||
and H5Dread function calls.
|
||||
|
||||
* Added parallel support for datasets with chunked storage layout.
|
||||
When a dataset is extend in a PHDF5 file, all processes that open
|
||||
the file must collectively call H5Dextend with identical new dimension
|
||||
sizes.
|
||||
|
||||
|
||||
LIST OF API FUNCTIONS
|
||||
|
||||
The following functions are implemented. Errors are returned if an
|
||||
attempt is made to use some feature which is not implemented and
|
||||
printing the error stack will show `not implemented yet'.
|
||||
|
||||
Library
|
||||
H5check - check that lib version matches header version
|
||||
H5open - initialize library (happens automatically)
|
||||
H5close - shut down the library (happens automatically)
|
||||
H5dont_atexit - don't call H5close on exit
|
||||
H5get_libversion - retrieve library version info
|
||||
H5check_version - check for specific library version
|
||||
|
||||
Property Lists
|
||||
H5Pclose - release template resources
|
||||
H5Pcopy - copy a template
|
||||
H5Pcreate - create a new template
|
||||
H5Pget_chunk - get chunked storage properties
|
||||
H5Pset_chunk - set chunked storage properties
|
||||
H5Pget_class - get template class
|
||||
H5Pget_istore_k - get chunked storage properties
|
||||
H5Pset_istore_k - set chunked storage properties
|
||||
H5Pget_layout - get raw data layout class
|
||||
H5Pset_layout - set raw data layout class
|
||||
H5Pget_sizes - get address and size sizes
|
||||
H5Pset_sizes - set address and size sizes
|
||||
H5Pget_sym_k - get symbol table storage properties
|
||||
H5Pset_sym_k - set symbol table storage properties
|
||||
H5Pget_userblock - get user-block size
|
||||
H5Pset_userblock - set user-block size
|
||||
H5Pget_version - get file version numbers
|
||||
H5Pget_alignment - get data alignment properties
|
||||
H5Pset_alignment - set data alignment properties
|
||||
H5Pget_external_count- get count of external data files
|
||||
H5Pget_external - get information about an external data file
|
||||
H5Pset_external - add a new external data file to the list
|
||||
H5Pget_driver - get low-level file driver class
|
||||
H5Pget_stdio - get properties for stdio low-level driver
|
||||
H5Pset_stdio - set properties for stdio low-level driver
|
||||
H5Pget_sec2 - get properties for sec2 low-level driver
|
||||
H5Pset_sec2 - set properties for sec2 low-level driver
|
||||
H5Pget_core - get properties for core low-level driver
|
||||
H5Pset_core - set properties for core low-level driver
|
||||
H5Pget_split - get properties for split low-level driver
|
||||
H5Pset_split - set properties for split low-level driver
|
||||
H5P_get_family - get properties for family low-level driver
|
||||
H5P_set_family - set properties for family low-level driver
|
||||
H5Pget_cache - get meta- and raw-data caching properties
|
||||
H5Pset_cache - set meta- and raw-data caching properties
|
||||
H5Pget_buffer - get raw-data I/O pipe buffer properties
|
||||
H5Pset_buffer - set raw-data I/O pipe buffer properties
|
||||
H5Pget_preserve - get type conversion preservation properties
|
||||
H5Pset_preserve - set type conversion preservation properties
|
||||
H5Pget_nfilters - get number of raw data filters
|
||||
H5Pget_filter - get raw data filter properties
|
||||
H5Pset_filter - set raw data filter properties
|
||||
H5Pset_deflate - set deflate compression filter properties
|
||||
H5Pget_mpi - get MPI-IO properties
|
||||
H5Pset_mpi - set MPI-IO properties
|
||||
H5Pget_xfer - get data transfer properties
|
||||
H5Pset_xfer - set data transfer properties
|
||||
|
||||
Datasets
|
||||
H5Dclose - release dataset resources
|
||||
H5Dcreate - create a new dataset
|
||||
H5Dget_space - get data space
|
||||
H5Dget_type - get data type
|
||||
H5Dget_create_plist - get dataset creation properties
|
||||
H5Dopen - open an existing dataset
|
||||
H5Dread - read raw data
|
||||
H5Dwrite - write raw data
|
||||
H5Dextend - extend a dataset
|
||||
|
||||
Attributes
|
||||
H5Acreate - create a new attribute
|
||||
H5Aopen_name - open an attribute by name
|
||||
H5Aopen_idx - open an attribute by number
|
||||
H5Awrite - write values into an attribute
|
||||
H5Aread - read values from an attribute
|
||||
H5Aget_space - get attribute data space
|
||||
H5Aget_type - get attribute data type
|
||||
H5Aget_name - get attribute name
|
||||
H5Anum_attrs - return the number of attributes for an object
|
||||
H5Aiterate - iterate over an object's attributes
|
||||
H5Adelete - delete an attribute
|
||||
H5Aclose - close an attribute
|
||||
|
||||
Errors
|
||||
H5Eclear - clear the error stack
|
||||
H5Eprint - print an error stack
|
||||
H5Eget_auto - get automatic error reporting settings
|
||||
H5Eset_auto - set automatic error reporting
|
||||
H5Ewalk - iterate over the error stack
|
||||
H5Ewalk_cb - the default error stack iterator function
|
||||
H5Eget_major - get the message for the major error number
|
||||
H5Eget_minor - get the message for the minor error number
|
||||
|
||||
Files
|
||||
H5Fclose - close a file and release resources
|
||||
H5Fcreate - create a new file
|
||||
H5Fget_create_plist - get file creation property list
|
||||
H5Fget_access_plist - get file access property list
|
||||
H5Fis_hdf5 - determine if a file is an hdf5 file
|
||||
H5Fopen - open an existing file
|
||||
|
||||
Groups
|
||||
H5Gclose - close a group and release resources
|
||||
H5Gcreate - create a new group
|
||||
H5Gopen - open an existing group
|
||||
H5Gpop - pop a group from the cwg stack
|
||||
H5Gpush - push a group onto the cwg stack
|
||||
H5Gset - set the current working group (cwg)
|
||||
H5Giterate - iterate over the contents of a group
|
||||
H5Gmove - change the name of some object
|
||||
H5Glink - create a hard or soft link to an object
|
||||
H5Gunlink - break the link between a name and an object
|
||||
H5Gget_objinfo - get information about a group entry
|
||||
H5Gget_linkval - get the value of a soft link
|
||||
H5Gget_comment - get the comment string for an object
|
||||
H5Gset_comment - set the comment string for an object
|
||||
|
||||
Dataspaces
|
||||
H5Screate - create a new data space
|
||||
H5Scopy - copy a data space
|
||||
H5Sclose - release data space
|
||||
H5Screate_simple - create a new simple data space
|
||||
H5Sset_space - set simple data space extents
|
||||
H5Sis_simple - determine if data space is simple
|
||||
H5Sset_extent_simple - set simple data space dimensionality and size
|
||||
H5Sget_simple_extent_npoints - get number of points in simple extent
|
||||
H5Sget_simple_extent_ndims - get simple data space dimensionality
|
||||
H5Sget_simple_extent_dims - get simple data space size
|
||||
H5Sget_simple_extent_type - get type of simple extent
|
||||
H5Sset_extent_none - reset extent to be empty
|
||||
H5Sextent_copy - copy the extent from one data space to another
|
||||
H5Sget_select_npoints - get number of points selected for I/O
|
||||
H5Sselect_hyperslab - set hyperslab dataspace selection
|
||||
H5Sselect_elements - set element sequence dataspace selection
|
||||
H5Sselect_all - select entire extent for I/O
|
||||
H5Sselect_none - deselect all elements of extent
|
||||
H5Soffset_simple - set selection offset
|
||||
H5Sselect_valid - determine if selection is valid for extent
|
||||
|
||||
Datatypes
|
||||
H5Tclose - release data type resources
|
||||
H5Topen - open a named data type
|
||||
H5Tcommit - name a data type
|
||||
H5Tcommitted - determine if a type is named
|
||||
H5Tcopy - copy a data type
|
||||
H5Tcreate - create a new data type
|
||||
H5Tequal - compare two data types
|
||||
H5Tlock - lock type to prevent changes
|
||||
H5Tfind - find a data type conversion function
|
||||
H5Tconvert - convert data from one type to another
|
||||
H5Tregister_hard - register specific type conversion function
|
||||
H5Tregister_soft - register general type conversion function
|
||||
H5Tunregister - remove a type conversion function
|
||||
H5Tget_overflow - get function that handles overflow conv. cases
|
||||
H5Tset_overflow - set function to handle overflow conversion cases
|
||||
H5Tget_class - get data type class
|
||||
H5Tget_cset - get character set
|
||||
H5Tget_ebias - get exponent bias
|
||||
H5Tget_fields - get floating point fields
|
||||
H5Tget_inpad - get inter-field padding
|
||||
H5Tget_member_dims - get struct member dimensions
|
||||
H5Tget_member_name - get struct member name
|
||||
H5Tget_member_offset - get struct member byte offset
|
||||
H5Tget_member_type - get struct member type
|
||||
H5Tget_nmembers - get number of struct members
|
||||
H5Tget_norm - get floating point normalization
|
||||
H5Tget_offset - get bit offset within type
|
||||
H5Tget_order - get byte order
|
||||
H5Tget_pad - get padding type
|
||||
H5Tget_precision - get precision in bits
|
||||
H5Tget_sign - get integer sign type
|
||||
H5Tget_size - get size in bytes
|
||||
H5Tget_strpad - get string padding
|
||||
H5Tinsert - insert scalar struct member
|
||||
H5Tinsert_array - insert array struct member
|
||||
H5Tpack - pack struct members
|
||||
H5Tset_cset - set character set
|
||||
H5Tset_ebias - set exponent bias
|
||||
H5Tset_fields - set floating point fields
|
||||
H5Tset_inpad - set inter-field padding
|
||||
H5Tset_norm - set floating point normalization
|
||||
H5Tset_offset - set bit offset within type
|
||||
H5Tset_order - set byte order
|
||||
H5Tset_pad - set padding type
|
||||
H5Tset_precision - set precision in bits
|
||||
H5Tset_sign - set integer sign type
|
||||
H5Tset_size - set size in bytes
|
||||
H5Tset_strpad - set string padding
|
||||
|
||||
Filters
|
||||
H5Tregister - register a new filter method
|
||||
|
||||
Ragged Arrays (alpha)
|
||||
H5Rcreate - create a new ragged array
|
||||
H5Ropen - open an existing array
|
||||
H5Rclose - close a ragged array
|
||||
H5Rwrite - write to an array
|
||||
H5Rread - read from an array
|
||||
|
||||
This release has been tested on UNIX platforms only; specifically:
|
||||
Linux, FreedBSD, IRIX, Solaris & Dec UNIX.
|
||||
|
||||
|
||||
RELEASE INFORMATION FOR PARALLEL HDF5
|
||||
-------------------------------------
|
||||
|
||||
* Current release supports independent access to fixed dimension datasets
|
||||
only.
|
||||
|
||||
* The comm and info arguments of H5Cset_mpi are not used. All parallel
|
||||
I/O are done via MPI_COMM_WORLD. Access_mode for H5Cset_mpi can be
|
||||
H5ACC_INDEPENDENT only.
|
||||
|
||||
* This release of parallel HDF5 has been tested on IBM SP2 and SGI
|
||||
Origin 2000 systems. It uses the ROMIO version of MPIO interface
|
||||
for parallel I/O supports.
|
||||
|
||||
* Useful URL's.
|
||||
Parallel HDF webpage: "http://hdf.ncsa.uiuc.edu/Parallel_HDF/"
|
||||
ROMIO webpage: "http://www.mcs.anl.gov/home/thakur/romio/"
|
||||
|
||||
* Some to-do items for future releases
|
||||
support for Intel Teraflop platform.
|
||||
support for unlimited dimension datasets.
|
||||
support for file access via a communicator besides MPI_COMM_WORLD.
|
||||
support for collective access to datasets.
|
||||
support for independent create/open of datasets.
|
||||
|
||||
|
||||
|
||||
PLATFORMS SUPPORTED
|
||||
-------------------
|
||||
|
||||
Platform(OS) C-Compiler Fortran-Compiler
|
||||
------------ ---------- ----------------
|
||||
Sun4(Solaris 2.5) CC SC4.0 f77 SC4.0
|
||||
SGI (IRIX v6.5) CC 7.21 f77 7.21
|
||||
SGI-Origin(IRIX64 v6.4-n32) CC 7.2.1.2m f77 7.2.1.2m
|
||||
SGI-Origin(IRIX64 v6.4-64) CC 7.2.1.2m f77 7.2.1.2m
|
||||
|
||||
46
bin/chkmanifest
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Check that all the files in MANIFEST exist and that (if this is a
|
||||
# CVS checkout) that all the CVS-managed files appear in the
|
||||
# MANIFEST.
|
||||
|
||||
verbose=yes
|
||||
MANIFEST=/tmp/H5_MANIFEST.$$
|
||||
|
||||
# clean up $MANIFEST file when exits
|
||||
trap "rm -f $MANIFEST" 0
|
||||
|
||||
# Copy the manifest file to get a list of file names.
|
||||
grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
|
||||
|
||||
test "$verbose" && echo " Checking MANIFEST..." 1>&2
|
||||
test -f $MANIFEST || exit 1
|
||||
for file in `cat $MANIFEST`; do
|
||||
if [ ! -f $file ]; then
|
||||
echo "- $file"
|
||||
fail=yes
|
||||
fi
|
||||
done
|
||||
for cvs in `find . -type d -name CVS -print`; do
|
||||
path=`echo $cvs |sed 's/\/CVS//'`
|
||||
for file in `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
|
||||
if (grep $path/$file$ $MANIFEST >/dev/null); then
|
||||
:
|
||||
else
|
||||
echo "+ $path/$file"
|
||||
fail=yes
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
if [ "X$fail" = "Xyes" ]; then
|
||||
cat 1>&2 <<EOF
|
||||
The MANIFEST is out of date. Files marked with a minus sign (-) no
|
||||
longer exist; files marked with a plus sign (+) are CVS-managed but do
|
||||
not appear in the MANIFEST. Please remedy the situation and try again.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test "$verbose" && echo " The MANIFEST is up to date." 1>&2
|
||||
exit 0
|
||||
@@ -37,9 +37,18 @@
|
||||
# (We use csh here, but of course you can adapt to whatever shell you like.)
|
||||
|
||||
# compile for MPI jobs
|
||||
# setenv CC mpcc (for IBM's MPI)
|
||||
# setenv CC "/usr/local/mpich-1.1.1/lib/rs6000/ch_mpl/mpicc" (for mpich)
|
||||
setenv CC "/usr/local/mpich-1.1.1/lib/rs6000/ch_mpl/mpicc"
|
||||
setenv CC "/usr/local/mpich-1.1.2+romio_lgfiles/bin/mpicc"
|
||||
|
||||
#
|
||||
# next 4 for IBM mpi
|
||||
#
|
||||
#setenv CC /usr/lpp/ppe.poe/bin/mpcc_r
|
||||
|
||||
#
|
||||
# for both
|
||||
#
|
||||
setenv MP_PROCS 1
|
||||
|
||||
|
||||
# These compiler flags work on ASCI baby blue pacific (IBM SP),
|
||||
# using IBM's MPI and Argonne's MPI-IO (ROMIO):
|
||||
@@ -51,7 +60,7 @@ setenv CC "/usr/local/mpich-1.1.1/lib/rs6000/ch_mpl/mpicc"
|
||||
# -bI:/usr/include/piofs/piofs.exp this MPI-IO uses PIOFS file system
|
||||
# -L/usr /local/mpio/lib/ibm -lmpio link to this MPI-IO lib
|
||||
#
|
||||
setenv CFLAGS "-g -qfullpath -bnoobjreorder -D_LARGE_FILES -DHAVE_FUNCTION"
|
||||
#setenv CFLAGS "-D_LARGE_FILES $CFLAGS"
|
||||
|
||||
# The configure/make process needs to be able to run some programs,
|
||||
# need to specify a processor pool.
|
||||
@@ -61,12 +70,19 @@ setenv MP_RMPOOL 0
|
||||
setenv MP_LABELIO no
|
||||
|
||||
# Once these variables are set to the proper values for your installation,
|
||||
# you can run the configure program (i.e., ./configure --enable-parallel=mpio)
|
||||
# you can run the configure program (i.e., ./configure)
|
||||
# to set up the Makefiles, etc.
|
||||
# After configuring, run the make as described in the INSTALL file.
|
||||
# Once the configuration is complete, you can set any of your
|
||||
# environment variables to whatever you like.
|
||||
|
||||
# the files in the config directory, such as
|
||||
# config/powerpc-ibm-aix4.2.1.0
|
||||
# config/powerpc-ibm-aix4.x
|
||||
# config/powerpc-ibm-aix4.3.2.0
|
||||
# sometimes will need some help depending on subtlties of the installation
|
||||
|
||||
|
||||
# When compiling and linking your application, don't forget to compile with
|
||||
# mpcc and link to the MPI-IO library and the parallel version of the HDF5
|
||||
# library (that was created and installed with the configure/make process).
|
||||
@@ -1,8 +1,8 @@
|
||||
#! /bin/sh
|
||||
# How to create a parallel version of HDF5 on the Intel Asci Red System
|
||||
# that uses MPI and MPI-IO.
|
||||
# How to configure a parallel version of HDF5 on the Sandia National Laboratory
|
||||
# TFLOPS System that uses MPI and MPI-IO.
|
||||
|
||||
# Read the INSTALL.ascired file to understand the configure/make process
|
||||
# Read the INSTALL_TFLOPS file to understand the configure/make process
|
||||
# for the sequential (i.e., uniprocessor) version of HDF5.
|
||||
# The process for creating the parallel version of HDF5 using MPI-IO
|
||||
# is similar, but first you will have to set up some environment variables
|
||||
@@ -23,8 +23,6 @@
|
||||
# The following flags are only needed when compiling/linking a user program
|
||||
# for execution.
|
||||
#
|
||||
debug="-g -UH5O_DEBUG -DH5F_OPT_SEEK=0"
|
||||
default_mode="-DDOS386 $debug -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
|
||||
# Using the MPICH libary by Daniel Sands.
|
||||
# It contains both MPI-1 and MPI-IO functions.
|
||||
@@ -44,14 +42,6 @@ mpio_lib="-L$ROMIO/lib"
|
||||
MPI_INC="$mpi1_inc $mpio_inc"
|
||||
MPI_LIB="$mpi1_lib $mpio_lib"
|
||||
|
||||
#for version 1.1 and later
|
||||
RUNSERIAL="yod -sz 1"
|
||||
export RUNSERIAL
|
||||
RUNPARALLEL="yod -sz 8"
|
||||
export RUNPARALLEL
|
||||
LIBS="-lmpich"
|
||||
export LIBS
|
||||
|
||||
|
||||
# Once these variables are set to the proper values for your installation,
|
||||
# you can run the configure program (i.e., ./configure tflop --enable-parallel=mpio)
|
||||
@@ -62,7 +52,7 @@ export LIBS
|
||||
# cicc and link to the MPI-IO library and the parallel version of the HDF5
|
||||
# library (that was created and installed with the configure/make process).
|
||||
|
||||
CFLAGS="$default_mode" \
|
||||
CPPFLAGS=$MPI_INC \
|
||||
LDFLAGS=$MPI_LIB \
|
||||
./configure --enable-parallel --disable-shared tflop
|
||||
LIBS="-lmpich" \
|
||||
./configure --enable-parallel tflop $@
|
||||
125
bin/h5vers
@@ -1,5 +1,10 @@
|
||||
#!/usr/bin/perl -w
|
||||
#! /bin/sh
|
||||
perl -x -S $0 "$@"
|
||||
exit
|
||||
|
||||
#! perl
|
||||
require 5.003;
|
||||
use strict;
|
||||
|
||||
### Copyright © 1998 NCSA.
|
||||
# Robb Matzke <matzke@llnl.gov>
|
||||
@@ -17,8 +22,14 @@ require 5.003;
|
||||
|
||||
# Without options this program only displays the current version and
|
||||
# doesn't modify any files or create backups. The default is to print
|
||||
# the version number as a dotted triple like `1.0.24' but with the
|
||||
# `-v' option the version will be printed as `version 1.0 release 24'.
|
||||
# the version number like X.Y.Z-A where X is the major version number,
|
||||
# Y is the minor version number, Z is the release number, and A is
|
||||
# a short annotation string (the `-' is printed only if A is not empty).
|
||||
# If the `-v' switch is given the version will be printed like:
|
||||
#
|
||||
# version X.Y release Z (A)
|
||||
#
|
||||
# The space and parentheses around A are only printed if A is not empty.
|
||||
#
|
||||
# The `-s VERSION' switch will set the version as specified. If the
|
||||
# string contains a dotted triple then it will be used as the version
|
||||
@@ -27,12 +38,19 @@ require 5.003;
|
||||
# number. If any numbers are missing then zero is assumed. This
|
||||
# allows versions to be specified like `-s "version 2.1 release 8"' or
|
||||
# `-s hdf5-2.1.8.tar.bz2'. If the new version is less than the old
|
||||
# version then a warning message is generated on standard error.
|
||||
# version then a warning message is generated on standard error. The
|
||||
# annotation string, A, is set only if it appears immediately after the
|
||||
# third number, separated by a dash (e.g., `1.2.3-pre1') or in parentheses
|
||||
# (e.g., `version 1.2 release 3 (pre1)').
|
||||
#
|
||||
# The `-i [major|minor|release]' option increments the major, minor,
|
||||
# or release (the default) number. If the minor number is incremented
|
||||
# then the release number is set to zero; if the major number is
|
||||
# incremented then the minor and release numbers are set to zero.
|
||||
# The `-i [major|minor|release|annot|last]' option increments the major
|
||||
# number, minor number, release number, or annotation string. The `last'
|
||||
# switch increments the annotation string if present, otherwise the
|
||||
# release number. If the release number is incremented then the annotation
|
||||
# string is cleared. If the minor number is incremented then the release
|
||||
# number is set to zero and the annotation string is cleared; if the major
|
||||
# number is incremented then the minor and release numbers are set to zero
|
||||
# and the annotation string is cleared.
|
||||
#
|
||||
# If a file is specified then that file is used instead of
|
||||
# ./H5public.h or ./src/H5public.h.
|
||||
@@ -40,7 +58,7 @@ require 5.003;
|
||||
# If the version number is changed (either `-s' or `-i' was used on
|
||||
# the command line) then the first line of the README file one
|
||||
# directory above the H5public.h file is also modified so it looks
|
||||
# something like: This is hdf5-1.2.3 currently under development.
|
||||
# something like: This is hdf5-1.2.3-pre1 currently under development.
|
||||
##############################################################################
|
||||
|
||||
sub getvers {
|
||||
@@ -50,6 +68,7 @@ sub getvers {
|
||||
($vers[0]) = /^\#\s*define\s+H5_VERS_MAJOR\s+(\d+)/m;
|
||||
($vers[1]) = /^\#\s*define\s+H5_VERS_MINOR\s+(\d+)/m;
|
||||
($vers[2]) = /^\#\s*define\s+H5_VERS_RELEASE\s+(\d+)/m;
|
||||
($vers[3]) = /^\#\s*define\s+H5_VERS_SUBRELEASE\s+\"([^\"]*)\"/m;
|
||||
return @vers;
|
||||
}
|
||||
|
||||
@@ -58,22 +77,23 @@ sub setvers {
|
||||
$_[0] =~ s/^(\#\s*define\s+H5_VERS_MAJOR\s+)\d+/$1$vers[0]/m;
|
||||
$_[0] =~ s/^(\#\s*define\s+H5_VERS_MINOR\s+)\d+/$1$vers[1]/m;
|
||||
$_[0] =~ s/^(\#\s*define\s+H5_VERS_RELEASE\s+)\d+/$1$vers[2]/m;
|
||||
$_[0] =~ s/^(\#\s*define\s+H5_VERS_SUBRELEASE\s+\")[^\"]*/$1$vers[3]/m;
|
||||
}
|
||||
|
||||
sub usage {
|
||||
my ($prog) = $0 =~ /([^\/]+)$/;
|
||||
print STDERR <<EOF;
|
||||
Usage: $prog [OPTS] [FILE]
|
||||
-i major|minor|release
|
||||
-i major|minor|release|annot
|
||||
Increment specified version component and set following components
|
||||
to zero.
|
||||
-s VERSION
|
||||
Set the version as specified. The version number can be embedded in
|
||||
some other string such as \"hdf5-1.1.0.tar.bz2\" or even \"this is
|
||||
hdf5 version 1.1 release 0\" for convenience.
|
||||
some other string such as \"hdf5-1.1.0-pre1.tar.bz2\" or even
|
||||
\"this is hdf5 version 1.1 release 0 (pre1)\" for convenience.
|
||||
-v
|
||||
Instead of displaying only a dotted triple version number a line such
|
||||
as \"version 1.1 release 0\" will be printed.
|
||||
as \"version 1.1 release 0 (pre1)\" will be printed.
|
||||
FILE
|
||||
The name of the file that contains version information. This is
|
||||
seldom necessary since files H5public.h, src/H5public.h and
|
||||
@@ -93,10 +113,10 @@ while ($_ = shift) {
|
||||
};
|
||||
|
||||
$_ eq "-i" && do {
|
||||
if (@ARGV && $ARGV[1]=~/^(major|minor|release)$/) {
|
||||
if (@ARGV && $ARGV[0]=~/^(major|minor|release|annot)$/) {
|
||||
$inc = shift;
|
||||
} else {
|
||||
$inc = "release";
|
||||
$inc = "last";
|
||||
}
|
||||
next;
|
||||
};
|
||||
@@ -120,8 +140,9 @@ unless ($file) {
|
||||
($file=$_,last) if -f $_;
|
||||
}
|
||||
}
|
||||
die "unable to find source files\n" unless defined $file;
|
||||
die "unable to read file: $file\n" unless -r $file;
|
||||
$README = $file;
|
||||
my $README = $file;
|
||||
$README =~ s/[^\/]*$/..\/README/;
|
||||
die "unable to read file: $README\n" unless -r $file;
|
||||
|
||||
@@ -132,47 +153,58 @@ close FILE;
|
||||
my (@curver) = getvers $contents;
|
||||
|
||||
# Determine the new version number.
|
||||
my @newver; #new version
|
||||
if ($set) {
|
||||
if ($set =~ /(\d+)\.(\d+)\.(\d+)/) {
|
||||
@newver = ($1, $2, $3);
|
||||
} elsif ($set =~ /(\d+)\D+(\d+)\D+(\d+)\D*$/) {
|
||||
@newver = ($1, $2, $3);
|
||||
if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([a-zA-Z]\w*))?/) {
|
||||
@newver = ($1, $2, $3, $5);
|
||||
} elsif ($set =~ /(\d+)\D+(\d+)\D+(\d+)(\s*\(([a-zA-Z]\w*)\))?\D*$/) {
|
||||
@newver = ($1, $2, $3, $5);
|
||||
} elsif ($set =~ /(\d+)\D+(\d+)\D*$/) {
|
||||
@newver = ($1, $2, 0);
|
||||
@newver = ($1, $2, 0, "");
|
||||
} elsif ($set =~ /(\d+)\D*$/) {
|
||||
@newver = ($1, 0, 0);
|
||||
@newver = ($1, 0, 0, "");
|
||||
} else {
|
||||
die "illegal version number specified: $set\n";
|
||||
}
|
||||
} elsif ($inc && $inc eq "major") {
|
||||
$newver[0] = $curver[0]+1;
|
||||
@newver[1,2] = (0,0);
|
||||
} elsif ($inc && $inc eq "minor") {
|
||||
$newver[0] = $curver[0];
|
||||
$newver[1] = $curver[1]+1;
|
||||
$newver[2] = 0;
|
||||
} elsif ($inc && $inc eq "release") {
|
||||
@newver[0,1] = @curver[0,1];
|
||||
$newver[2] = $curver[2]+1;
|
||||
} elsif ($inc) {
|
||||
die "unknown increment field: $inc\n";
|
||||
$inc = $curver[3] eq "" ? 'release' : 'annot' if $inc eq 'last';
|
||||
if ($inc eq "major") {
|
||||
$newver[0] = $curver[0]+1;
|
||||
@newver[1,2,3] = (0,0,"");
|
||||
} elsif ($inc eq "minor") {
|
||||
$newver[0] = $curver[0];
|
||||
$newver[1] = $curver[1]+1;
|
||||
@newver[2,3] = (0,"");
|
||||
} elsif ($inc eq "release") {
|
||||
@newver[0,1] = @curver[0,1];
|
||||
$newver[2] = $curver[2]+1;
|
||||
$newver[3] = "";
|
||||
} elsif ($inc eq "annot") {
|
||||
@newver[0,1,2] = @curver[0,1,2];
|
||||
$newver[3] = $curver[3];
|
||||
$newver[3] =~ s/(\d+)/$1+1/e or
|
||||
die "Annotation \"".$newver[3]."\" cannot be incremented.\n";
|
||||
} else {
|
||||
die "unknown increment field: $inc\n";
|
||||
}
|
||||
} else {
|
||||
# Nothing to do but print result
|
||||
$README = "";
|
||||
@newver = @curver;
|
||||
}
|
||||
|
||||
# Print a warning if the version got smaller.
|
||||
# Print a warning if the version got smaller (don't check annot field)
|
||||
if ($newver[0]*1000000 + $newver[1]*1000 + $newver[2] <
|
||||
$curver[0]*1000000 + $curver[1]*1000 + $curver[2]) {
|
||||
printf STDERR "Warning: version decreased from %d.%d.%d to %d.%d.%d\n",
|
||||
@curver, @newver;
|
||||
@curver[0,1,2], @newver[0,1,2];
|
||||
}
|
||||
|
||||
# Update the version number if it changed.
|
||||
if ($newver[0]!=$curver[0] ||
|
||||
$newver[1]!=$curver[1] ||
|
||||
$newver[2]!=$curver[2]) {
|
||||
$newver[2]!=$curver[2] ||
|
||||
$newver[3]ne$curver[3]) {
|
||||
setvers $contents, @newver or die "unable to set version\n";
|
||||
rename $file, "$file~" or die "unable to save backup file\n";
|
||||
open FILE, ">$file" or die "unable to open $file but backup saved!\n";
|
||||
@@ -183,10 +215,12 @@ if ($newver[0]!=$curver[0] ||
|
||||
# Update the README file
|
||||
if ($README) {
|
||||
open FILE, $README or die "$README: $!\n";
|
||||
@contents = <FILE>;
|
||||
my @contents = <FILE>;
|
||||
close FILE;
|
||||
$contents[0] = sprintf("This is hdf5-%d.%d.%d currently under development\n",
|
||||
@newver);
|
||||
$contents[0] = sprintf("This is hdf5-%d.%d.%d%s %s",
|
||||
@newver[0,1,2],
|
||||
$newver[3] eq "" ? "" : "-".$newver[3],
|
||||
"currently under development\n");
|
||||
open FILE, ">$README" or die "$README: $!\n";
|
||||
print FILE @contents;
|
||||
close FILE;
|
||||
@@ -194,9 +228,18 @@ if ($README) {
|
||||
|
||||
# Print the new version number
|
||||
if ($verbose) {
|
||||
printf "version %d.%d release %d\n", @newver;
|
||||
printf("version %d.%d release %d%s\n", @newver[0,1,2],
|
||||
$newver[3] eq "" ? "" : " (".$newver[3].")");
|
||||
} else {
|
||||
printf "%d.%d.%d\n", @newver;
|
||||
printf("%d.%d.%d%s\n", @newver[0,1,2],
|
||||
$newver[3] eq "" ? "" : "-".$newver[3]);
|
||||
}
|
||||
|
||||
exit 0;
|
||||
|
||||
# Because the first line of this file looks like a Bourne shell script, we
|
||||
# must tell XEmacs explicitly that this is really a perl script.
|
||||
#
|
||||
# Local Variables:
|
||||
# mode:perl
|
||||
# End:
|
||||
|
||||
@@ -541,7 +541,7 @@ if test -n "$pic_flag"; then
|
||||
# Check to make sure the pic_flag actually works.
|
||||
echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
|
||||
$rm conftest*
|
||||
echo > conftest.c
|
||||
echo 'main(){return(0);}' > conftest.c
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $pic_flag -DPIC"
|
||||
echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
|
||||
@@ -777,7 +777,7 @@ else
|
||||
;;
|
||||
|
||||
# FreeBSD 3, at last, uses gcc -shared to do shared libraries.
|
||||
freebsd3*)
|
||||
freebsd3* | freebsd4*)
|
||||
archive_cmds='$CC -shared -o $lib$libobjs'
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
@@ -1123,7 +1123,7 @@ amigaos*)
|
||||
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
|
||||
;;
|
||||
|
||||
freebsd2* | freebsd3*)
|
||||
freebsd2* | freebsd3* | freebsd4*)
|
||||
version_type=sunos
|
||||
library_names_spec='${libname}${release}.so.$versuffix $libname.so'
|
||||
finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
|
||||
|
||||
@@ -495,8 +495,13 @@ if test -z "$show_help"; then
|
||||
-L*)
|
||||
dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
|
||||
case "$dir" in
|
||||
/* | [A-Za-z]:\\*)
|
||||
/*)
|
||||
# Add the corresponding hardcode_libdir_flag, if it is not identical.
|
||||
finalize_shlibpath="$finalize_shlibpath$dir:"
|
||||
;;
|
||||
[A-Za-z]:\\*)
|
||||
# Add the corresponding hardcode_libdir_flag, if it is not identical.
|
||||
finalize_shlibpath="$finalize_shlibpath$dir;"
|
||||
;;
|
||||
*)
|
||||
$echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
|
||||
@@ -1496,10 +1501,11 @@ else
|
||||
if test -f \"\$progdir/\$program\"; then"
|
||||
|
||||
# Export our shlibpath_var if we have one.
|
||||
if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
|
||||
if test -n "$shlibpath_var" &&
|
||||
(test -n "$temp_rpath" || test -n "$finalize_shlibpath"); then
|
||||
$echo >> $output "\
|
||||
# Add our own library path to $shlibpath_var
|
||||
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
|
||||
$shlibpath_var=\"$finalize_shlibpath$temp_rpath\$$shlibpath_var\"
|
||||
|
||||
# Some systems cannot cope with colon-terminated $shlibpath_var
|
||||
$shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
|
||||
@@ -2172,7 +2178,9 @@ libdir='$install_libdir'\
|
||||
|
||||
if test -z "$run"; then
|
||||
# Export the shlibpath_var.
|
||||
eval "export $shlibpath_var"
|
||||
if test -n "$shlibpath_var"; then
|
||||
eval "export $shlibpath_var"
|
||||
fi
|
||||
|
||||
# Now actually exec the command.
|
||||
eval "exec \$cmd$args"
|
||||
|
||||
59
bin/release
@@ -30,6 +30,14 @@
|
||||
# /tmp/hdf5-1.0.38.tar.gz
|
||||
# /tmp/hdf5-1.0.38.tar.bz2
|
||||
#
|
||||
# Modifications
|
||||
# Robb Matzke, 1999-07-16
|
||||
# The SunOS 5.6 sed *must* have slashes as delimiters. I changed things like
|
||||
# `sed s+/CVS++' to `sed 's/\/CVS//'
|
||||
#
|
||||
# Albert Cheng, 1999-10-26
|
||||
# Moved the MANIFEST checking to a separate command file so that
|
||||
# it can be invoked individually.
|
||||
|
||||
# Defaults
|
||||
DEST=releases
|
||||
@@ -72,49 +80,9 @@ if [ ! -d $DEST ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy the manifest file to get a list of file names.
|
||||
MANIFEST=/tmp/H5_MANIFEST.$$
|
||||
grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
|
||||
|
||||
# Check that all the files in MANIFEST exist and that (if this is a
|
||||
# CVS checkout) that all the CVS-managed files appear in the
|
||||
# MANIFEST.
|
||||
test "$verbose" && echo " Checking manifest..." 1>&2
|
||||
test -f $MANIFEST || exit 1
|
||||
for file in `cat $MANIFEST`; do
|
||||
if [ ! -f $file ]; then
|
||||
echo "- $file"
|
||||
fail=yes
|
||||
fi
|
||||
done
|
||||
for cvs in `find . -type d -name CVS -print`; do
|
||||
path=`echo $cvs |sed s+/CVS++`
|
||||
for file in `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
|
||||
if (grep $path/$file $MANIFEST >/dev/null); then
|
||||
:
|
||||
else
|
||||
echo "+ $path/$file"
|
||||
fail=yes
|
||||
fi
|
||||
done
|
||||
done
|
||||
# for file in ./Changes `sh -c 'svf ls' 2>/dev/null`; do
|
||||
# if (grep $file $MANIFEST >/dev/null); then
|
||||
# :
|
||||
# elif [ $file = ./Changes ]; then
|
||||
# :
|
||||
# else
|
||||
# echo "+ $file"
|
||||
# fail=yes
|
||||
# fi
|
||||
# done
|
||||
|
||||
# Check the validity of the MANIFEST file.
|
||||
bin/chkmanifest || fail=yes
|
||||
if [ "X$fail" = "Xyes" ]; then
|
||||
cat 1>&2 <<EOF
|
||||
The MANIFEST is out of date. Files marked with a minus sign (-) no
|
||||
longer exist; files marked with a plus sign (+) are CVS-managed but do
|
||||
not appear in the MANIFEST. Please remedy the situation and try again.
|
||||
EOF
|
||||
if [ $check = yes ]; then
|
||||
exit 1
|
||||
else
|
||||
@@ -123,6 +91,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Create a manifest that contains only files for distribution.
|
||||
MANIFEST=/tmp/H5_MANIFEST.$$
|
||||
grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
|
||||
|
||||
# Prepare the source tree for a release.
|
||||
@@ -131,16 +100,18 @@ ln -s `pwd` ../hdf5-$VERS || exit 1
|
||||
mv Makefile ../Makefile.x 2>/dev/null #might fail
|
||||
cp -p Makefile.dist Makefile
|
||||
echo "This is hdf5-$VERS released on `date`" >README.x
|
||||
tail -n +2 <README >>README.x
|
||||
tail +2l README >>README.x
|
||||
mv README.x README
|
||||
test "$verbose" && echo " Running tar..." 1>&2
|
||||
( \
|
||||
cd ..; \
|
||||
tar cf x.tar hdf5-$VERS/Makefile \
|
||||
`sed s+^.+hdf5-$VERS+ $MANIFEST` || exit 1 \
|
||||
`sed 's/^\.\//hdf5-'$VERS'\//' $MANIFEST` || exit 1 \
|
||||
)
|
||||
|
||||
# Compress
|
||||
# Make sure new files are of the right access mode
|
||||
umask 0133
|
||||
for comp in $methods; do
|
||||
case $comp in
|
||||
tar)
|
||||
|
||||
186
bin/snapshot
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
set -x
|
||||
date
|
||||
uname -a
|
||||
#
|
||||
# This script should be run nightly from cron. It checks out hdf5
|
||||
# from the CVS source tree and compares it against the previous
|
||||
@@ -25,6 +26,9 @@ HDF4LIB=$HDF4LIB_default
|
||||
# What compression methods to use?
|
||||
METHODS="gzip bzip2"
|
||||
|
||||
# Use User's MAKE if set. Else use generic make.
|
||||
MAKE=${MAKE:-make}
|
||||
|
||||
# Make sure cvs would work
|
||||
if [ -z "$CVSROOT" ]; then
|
||||
echo "Where is the CVS repository?" 1>&2
|
||||
@@ -34,6 +38,7 @@ fi
|
||||
#
|
||||
# Command options
|
||||
cmd="all"
|
||||
test_opt=""
|
||||
errcode=0
|
||||
echo '$#=' $# '$*="' $* '"'
|
||||
while [ $# -gt 0 ] ; do
|
||||
@@ -49,10 +54,28 @@ while [ $# -gt 0 ] ; do
|
||||
cmdtest="test"
|
||||
cmd=""
|
||||
;;
|
||||
srcdir)
|
||||
#use srcdir option for test
|
||||
srcdir="yes"
|
||||
;;
|
||||
srcdirname)
|
||||
shift
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "srcdirname <dir> missing"
|
||||
errcode=1
|
||||
cmd="help"
|
||||
break
|
||||
fi
|
||||
SRCDIRNAME="$1"
|
||||
;;
|
||||
release)
|
||||
cmdrel="release"
|
||||
cmd=""
|
||||
;;
|
||||
clean | distclean)
|
||||
cmdclean="$1"
|
||||
cmd=""
|
||||
;;
|
||||
help)
|
||||
cmd="help"
|
||||
break
|
||||
@@ -77,6 +100,16 @@ while [ $# -gt 0 ] ; do
|
||||
fi
|
||||
ARCHIVES="$1"
|
||||
;;
|
||||
op-configure)
|
||||
shift
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "op-configure option missing"
|
||||
errcode=1
|
||||
cmd="help"
|
||||
break
|
||||
fi
|
||||
OP_CONFIGURE="$OP_CONFIGURE $1"
|
||||
;;
|
||||
*)
|
||||
echo "Unkown option $1"
|
||||
errcode=1
|
||||
@@ -89,34 +122,52 @@ done
|
||||
|
||||
if [ "$cmd" = help ]; then
|
||||
set -
|
||||
echo "Usage: $0 [all] [checkout] [test] [release] [help] [hdf4 <hdf4lib_path>] [archive <arch_path> ]"
|
||||
echo " all: Run all commands (checkout, test & release)"
|
||||
echo " [Default is all]"
|
||||
echo " checkout: Run cvs checkout"
|
||||
echo " test: Run test"
|
||||
echo " release: Run release"
|
||||
echo " help: Print this message"
|
||||
echo " hdf4 <hdf4lib_path>:"
|
||||
echo " Use <hdf4lib_path> as the HDF4LIB locations"
|
||||
echo " [Default is $HDF4LIB_default]"
|
||||
echo " archive <arch_path>: "
|
||||
echo " Use <arch_path> as the release ARCHIVE area"
|
||||
echo " [<arch_path> default as $ARCHIVES_default]"
|
||||
cat <<EOF
|
||||
Usage: $0 [all] [checkout] [test] [srcdir] [release] [help]
|
||||
[hdf4 <hdf4lib_path>] [archive <arch_path>] [dir <dir>]
|
||||
[op-configure <option>]
|
||||
all: Run all commands (checkout, test & release)
|
||||
[Default is all]
|
||||
checkout: Run cvs checkout
|
||||
test: Run test
|
||||
release: Run release
|
||||
clean: Run make clean
|
||||
distclean:Run make distclean
|
||||
srcdir: Use srcdir option (does not imply other commands)
|
||||
"snapshot srcdir" is equivalent to "snapshot srcdir all"
|
||||
"snapshot srcdir checkout" is equivalent to "snapshot checkout"
|
||||
srcdirname <dir>:
|
||||
Use <dir> as the srcdir testing directory if srcdir is choosen.
|
||||
If <dir> starts with '-', it is append to the default name
|
||||
E.g., "snapshot srcdir srcdirname -xx" uses hostname-xx
|
||||
[Default is hostname]
|
||||
help: Print this message
|
||||
hdf4 <hdf4lib_path>:
|
||||
Use <hdf4lib_path> as the HDF4LIB locations
|
||||
[Default is $HDF4LIB_default]
|
||||
archive <arch_path>:
|
||||
Use <arch_path> as the release ARCHIVE area
|
||||
[Default is $ARCHIVES_default]
|
||||
op-configure <option>:
|
||||
Pass <option> to the configure command
|
||||
E.g., "snapshot op-configure --enable-parallel"
|
||||
configures for parallel mode
|
||||
EOF
|
||||
exit $errcode
|
||||
fi
|
||||
|
||||
# Setup the proper configure option (--with-hdf4) to use hdf4 library
|
||||
# provide HDF4LIB is non-empty.
|
||||
HDF4LIB=${HDF4LIB:+"--with-hdf4="$HDF4LIB}
|
||||
CONFIGURE="./configure $HDF4LIB"
|
||||
CONFIGURE="./configure $HDF4LIB $OP_CONFIGURE"
|
||||
|
||||
# Execute the requests
|
||||
snapshot=yes
|
||||
|
||||
# Show all settings right before execution.
|
||||
# set
|
||||
# exit 0
|
||||
|
||||
H5VERSION=hdf5_1_2
|
||||
BASEDIR=${HOME}/snapshots-${H5VERSION}
|
||||
CURRENT=${BASEDIR}/current
|
||||
PREVIOUS=${BASEDIR}/previous
|
||||
|
||||
#=============================
|
||||
# Run CVS checkout
|
||||
@@ -125,11 +176,10 @@ if [ "$cmd" = "all" -o -n "$cmdcheckout" ]; then
|
||||
# Create a working directory. Hopefully one is left over from last
|
||||
# time that still has the contents of the previous release. But if
|
||||
# not, just create one and assume that a snapshot is necessary.
|
||||
COMPARE=${HOME}/hdf5-snapshots
|
||||
test -d ${COMPARE} || mkdir -p ${COMPARE} || exit 1
|
||||
test -d ${BASEDIR} || mkdir -p ${BASEDIR} || exit 1
|
||||
|
||||
# Check out the current version from CVS
|
||||
cvs -Q co -d ${COMPARE}/current hdf5 || exit 1
|
||||
cvs -Q co -d ${CURRENT} -r ${H5VERSION} hdf5 || exit 1
|
||||
fi # Do CVS checkout
|
||||
|
||||
|
||||
@@ -137,15 +187,40 @@ fi # Do CVS checkout
|
||||
# Run Test the HDF5 library
|
||||
#=============================
|
||||
if [ "$cmd" = "all" -o -n "$cmdtest" ]; then
|
||||
# setup if srcdir is used.
|
||||
if [ -z "$srcdir" ]; then
|
||||
TESTDIR=${CURRENT}
|
||||
else
|
||||
#create TESTDIR if not exist yet
|
||||
case "$SRCDIRNAME" in
|
||||
"")
|
||||
SRCDIRNAME=`hostname`
|
||||
;;
|
||||
-*)
|
||||
SRCDIRNAME="`hostname`$SRCDIRNAME"
|
||||
;;
|
||||
esac
|
||||
TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
|
||||
test -d ${TESTDIR} || mkdir ${TESTDIR}
|
||||
fi
|
||||
# Make sure current version exists and is clean
|
||||
if [ -d ${TESTDIR} ]; then
|
||||
(cd ${TESTDIR} && ${MAKE} distclean)
|
||||
else
|
||||
errcode=$?
|
||||
snapshot=no
|
||||
exit $errcode
|
||||
fi
|
||||
|
||||
# Compare it with the previous version. Compare only files listed in
|
||||
# the MANIFEST plus the MANIFEST itself.
|
||||
if [ -d ${COMPARE}/previous ]; then
|
||||
if (diff -c ${COMPARE}/previous/MANIFEST ${COMPARE}/current/MANIFEST); then
|
||||
if [ -d ${PREVIOUS} ]; then
|
||||
if (diff -c ${PREVIOUS}/MANIFEST ${CURRENT}/MANIFEST); then
|
||||
snapshot=no
|
||||
for src in `grep '^\.' ${COMPARE}/current/MANIFEST|expand|cut -f1 -d' '`; do
|
||||
for src in `grep '^\.' ${CURRENT}/MANIFEST|expand|cut -f1 -d' '`; do
|
||||
diff -I H5_VERS_RELEASE -I " released on " \
|
||||
-I " currently under development" \
|
||||
${COMPARE}/previous/$src ${COMPARE}/current/$src || \
|
||||
${PREVIOUS}/$src ${CURRENT}/$src || \
|
||||
snapshot=yes
|
||||
# Don't break because we want to see all the diffs.
|
||||
done
|
||||
@@ -154,12 +229,14 @@ if [ "$cmd" = "all" -o -n "$cmdtest" ]; then
|
||||
|
||||
# Make sure all the serial tests work.
|
||||
if [ "$snapshot" = "yes" ]; then
|
||||
if (cd ${COMPARE}/current; \
|
||||
${CONFIGURE}; \
|
||||
make _test); then
|
||||
if (cd ${TESTDIR}; \
|
||||
${srcdir:+${CURRENT}/}${CONFIGURE}; \
|
||||
${MAKE} check); then
|
||||
:
|
||||
else
|
||||
errcode=$?
|
||||
snapshot=no
|
||||
exit $errcode
|
||||
fi
|
||||
fi
|
||||
fi # Test the HDF5 library
|
||||
@@ -169,24 +246,61 @@ fi # Test the HDF5 library
|
||||
# Run Release snapshot, update version, and commit to cvs and tag
|
||||
#=============================
|
||||
if [ "$cmd" = "all" -o -n "$cmdrel" ]; then
|
||||
echo "Release is under construction. No release done."
|
||||
errcode=1
|
||||
snapshot=no
|
||||
break
|
||||
exit $errcord
|
||||
if [ "$snapshot" = "yes" ]; then
|
||||
(cd ${COMPARE}/current; make distclean)
|
||||
(cd ${CURRENT}; ${MAKE} distclean)
|
||||
(
|
||||
# Turn on exit on error in the sub-shell so that it does not
|
||||
# cvs commit if errors encounter here.
|
||||
set -e
|
||||
cd ${COMPARE}/current
|
||||
cvs -Q tag hdf5-`perl -w bin/h5vers |tr . _`
|
||||
cd ${CURRENT}
|
||||
bin/release -d $ARCHIVES $METHODS
|
||||
RELEASE_VERSION="`perl -w bin/h5vers -v`"
|
||||
perl -w bin/h5vers -i
|
||||
RELEASE_VERSION="`perl bin/h5vers -v`"
|
||||
perl bin/h5vers -i
|
||||
cvs -Q commit -m "Snapshot $RELEASE_VERSION"
|
||||
)
|
||||
errcode=$?
|
||||
fi
|
||||
|
||||
# Replace the previous version with the current version.
|
||||
rm -rf ${COMPARE}/previous
|
||||
mv ${COMPARE}/current ${COMPARE}/previous
|
||||
# Should check if the errcode of the release process but there
|
||||
# are other failures after release was done (e.g. h5vers or cvs failures)
|
||||
# that should allow the replacement to occure.
|
||||
rm -rf ${PREVIOUS}
|
||||
mv ${CURRENT} ${PREVIOUS}
|
||||
fi #Release snapshot
|
||||
|
||||
exit 0
|
||||
|
||||
#=============================
|
||||
# Clean the test area. Default is no clean.
|
||||
#=============================
|
||||
if [ -n "$cmdclean" ]; then
|
||||
# setup if srcdir is used.
|
||||
if [ -z "$srcdir" ]; then
|
||||
TESTDIR=${CURRENT}
|
||||
else
|
||||
case "$SRCDIRNAME" in
|
||||
"")
|
||||
SRCDIRNAME=`hostname`
|
||||
;;
|
||||
-*)
|
||||
SRCDIRNAME="`hostname`$SRCDIRNAME"
|
||||
;;
|
||||
esac
|
||||
TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
|
||||
fi
|
||||
# Make sure current version exists and is clean
|
||||
if [ -d ${TESTDIR} ]; then
|
||||
(cd ${TESTDIR} && ${MAKE} $cmdclean )
|
||||
else
|
||||
errcode=$?
|
||||
snapshot=no
|
||||
exit $errcode
|
||||
fi
|
||||
fi # Clean the Test directory
|
||||
|
||||
exit $errcode
|
||||
|
||||
@@ -53,9 +53,12 @@ $Source = "";
|
||||
"void*" => "x",
|
||||
"FILE*" => "x",
|
||||
"H5A_operator_t" => "x",
|
||||
"H5D_operator_t" => "x",
|
||||
"H5E_auto_t" => "x",
|
||||
"H5E_walk_t" => "x",
|
||||
"H5G_iterate_t" => "x",
|
||||
"H5MM_allocate_t" => "x",
|
||||
"H5MM_free_t" => "x",
|
||||
"H5T_cdata_t**" => "x",
|
||||
"H5T_conv_t" => "x",
|
||||
"H5T_overflow_t" => "x",
|
||||
|
||||
@@ -34,6 +34,7 @@ exec_prefix=@exec_prefix@
|
||||
bindir=@bindir@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
docdir=@exec_prefix@/doc
|
||||
PUB_LIB=$(LIB)
|
||||
|
||||
# Shared libraries
|
||||
@@ -46,6 +47,10 @@ LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
|
||||
LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
|
||||
LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
|
||||
|
||||
## Optional variables. We must declare them here because Irix pmake
|
||||
## complains if it sees a reference to a variable which has never been
|
||||
## defined. The main makefile is free to redefine these to something else.
|
||||
DOCDIR=$(docdir)
|
||||
|
||||
# The default is to build the library and/or programs. We must build
|
||||
# them sequentially.
|
||||
@@ -88,6 +93,11 @@ all:
|
||||
# a version of make that doesn't treat the makefile as the initial target
|
||||
# the user may want to occassionally type `make Makefile' in any source
|
||||
# directory.
|
||||
# The `Makefile' target has been renamed to `reconfigure' so that the
|
||||
# autoconf and make depend processes do not start up automatically.
|
||||
# One must do `make reconfigure' explicitedly to start the process.
|
||||
# (When srcdir is used and if more than one machines are running,
|
||||
# this automatic Makefile/autoconf can get things unstable.)
|
||||
#
|
||||
STAMP1=$(top_builddir)/config/stamp1
|
||||
STAMP2=$(top_builddir)/config/stamp2
|
||||
@@ -112,7 +122,8 @@ $(top_srcdir)/configure: $(top_srcdir)/configure.in
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
|
||||
-cd $(top_builddir); ./config.status --recheck
|
||||
|
||||
Makefile: $(MAKEFILE_PARTS) $(STAMP2)
|
||||
# rerun the autoconf process if any configure components have changed.
|
||||
reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
|
||||
-cd $(top_builddir); CONFIG_HEADERS= ./config.status
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#
|
||||
lib: $(LIB)
|
||||
$(LIB) __no_library__: $(LIB_OBJ)
|
||||
@$(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LIBS)
|
||||
@$(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
|
||||
|
||||
progs: $(LIB) $(PROGS)
|
||||
|
||||
@@ -55,6 +55,9 @@ $(includedir):
|
||||
$(bindir):
|
||||
mkdir $@ && chmod 755 $@
|
||||
|
||||
$(DOCDIR):
|
||||
mkdir $@ && chmod 755 $@
|
||||
|
||||
# Install the library, the public header files, and programs.
|
||||
install: $(PUB_LIB) $(PUB_HDR) $(PROGS) $(libdir) $(includedir) $(bindir)
|
||||
@for f in X $(PUB_LIB); do \
|
||||
@@ -81,20 +84,49 @@ install: $(PUB_LIB) $(PUB_HDR) $(PROGS) $(libdir) $(includedir) $(bindir)
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Install the documents.
|
||||
install-doc: $(PUB_DOCS) $(DOCDIR)
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X; then \
|
||||
(set -x; cd $$d && $(MAKE) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@for f in X $(PUB_DOCS); do \
|
||||
if test $$f != X; then \
|
||||
if test -f $$f; then \
|
||||
(set -x; $(INSTALL_DATA) $$f $(DOCDIR)/. || exit 1); \
|
||||
else \
|
||||
(set -x; $(INSTALL_DATA) $(srcdir)/$$f $(DOCDIR)/. || \
|
||||
exit 1); \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Removes those things that `make install' (would have) installed.
|
||||
uninstall:
|
||||
@if test "X$(LIB)" != X; then \
|
||||
for f in $(LIB); do \
|
||||
@for f in X $(LIB); do \
|
||||
if test $$f != X; then \
|
||||
$(LT_UNINSTALL) $(libdir)/$$f; \
|
||||
done; \
|
||||
fi
|
||||
fi; \
|
||||
done
|
||||
@if test "X$(PUB_HDR)" != X; then \
|
||||
set -x; cd $(includedir) && $(RM) $(PUB_HDR); \
|
||||
fi
|
||||
@if test "X$(PROGS)" != X; then \
|
||||
for f in $(PROGS); do \
|
||||
@for f in X $(PROGS); do \
|
||||
if test $$f != X; then \
|
||||
$(LT_UNINSTALL) $(bindir)/$$f; \
|
||||
done; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Removes those things that `make install-doc' (would have) installed.
|
||||
uninstall-doc:
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X; then \
|
||||
(set -x; cd $$d && $(MAKE) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@if test "X$(PUB_DOCS)" != X; then \
|
||||
set -x; cd $(DOCDIR) && $(RM) $(PUB_DOCS); \
|
||||
fi
|
||||
|
||||
# Removes temporary files without removing the final target files. That is,
|
||||
@@ -147,6 +179,8 @@ maintainer-clean: distclean
|
||||
# These files are part of the distribution and are generated automatically on
|
||||
# GNU/GCC systems.
|
||||
#------------------------------------------------------------------------------
|
||||
.PHONY: dep depend
|
||||
dep depend: .distdep
|
||||
|
||||
@DEPEND1@
|
||||
@DEPEND2@
|
||||
|
||||
@@ -38,7 +38,9 @@ dep depend: .distdep
|
||||
$(CC) -M -MG $(CPPFLAGS) $$dep |sed 's/\.o/.lo/' >>$@; \
|
||||
fi; \
|
||||
done;
|
||||
-perl -p $(top_srcdir)/bin/distdep .depend >$(srcdir)/.distdep
|
||||
@if test "$(srcdir)" = "."; then \
|
||||
perl -p $(top_srcdir)/bin/distdep .depend >.distdep; \
|
||||
fi
|
||||
|
||||
-include .depend
|
||||
|
||||
|
||||
@@ -22,12 +22,20 @@ if test X = "X$cc_flags_set"; then
|
||||
if test "-" != "$cc_vendor-$cc_version"; then
|
||||
echo "compiler '$CC' is GNU $cc_vendor-$cc_version"
|
||||
fi
|
||||
|
||||
# Some version numbers
|
||||
cc_vers_major=`echo $cc_version | cut -f1 -d.`
|
||||
cc_vers_minor=`echo $cc_version | cut -f2 -d.`
|
||||
cc_vers_patch=`echo $cc_version | cut -f3 -d.`
|
||||
test -n "$cc_vers_major" || cc_vers_major=0
|
||||
test -n "$cc_vers_minor" || cc_vers_minor=0
|
||||
test -n "$cc_vers_patch" || cc_vers_patch=0
|
||||
cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch`
|
||||
fi
|
||||
|
||||
# Warn about old GNU compilers that don't work right.
|
||||
case "$cc_vendor-$cc_version" in
|
||||
gcc-2.7.*)
|
||||
cat <<EOF
|
||||
# GCC compilers before gcc-2.8.1 have problems with `long long'.
|
||||
if test gcc = $cc_vendor -a $cc_vers_all -lt 2008001; then
|
||||
cat <<EOF
|
||||
**
|
||||
** This compiler may be unable to properly compile the long long
|
||||
** data type used extensively by hdf5, although specifying
|
||||
@@ -37,15 +45,23 @@ case "$cc_vendor-$cc_version" in
|
||||
** gcc version 2.8.1 before reporting bugs to the HDF5 team.
|
||||
**
|
||||
EOF
|
||||
sleep 5
|
||||
;;
|
||||
|
||||
pgcc-2.*)
|
||||
v2=`echo $cc_version |cut -f2 -d.`
|
||||
v3=`echo $cc_version |cut -f3 -d.`
|
||||
v=`expr $v2 '*' 1000 + $v3`
|
||||
if test $v -le 91066; then
|
||||
cat <<EOF
|
||||
sleep 5
|
||||
|
||||
# Current EGCS compilers have problems with `long long' and register
|
||||
# allocation when optimizations are turned on for x86 systems.
|
||||
elif test egcs = $cc_vendor -a $cc_vers_all -le 2091066; then
|
||||
cat <<EOF
|
||||
**
|
||||
** This compiler may have problems allocating registers when
|
||||
** optimizations are enabled on some platforms. Specifying
|
||||
** --disable-hsizet usually avoids the bug.
|
||||
**
|
||||
EOF
|
||||
sleep 5
|
||||
|
||||
# All current versions of PGCC have problems also.
|
||||
elif test pgcc = $cc_vendor -a $cc_vers_all -le 2091066; then
|
||||
cat <<EOF
|
||||
**
|
||||
** This compiler may have problems allocating registers for long
|
||||
** long data types when optimizations are enabled. There may be
|
||||
@@ -54,10 +70,9 @@ EOF
|
||||
** Please use gcc-2.8 or egcs-1.1.1 before reporting bugs.
|
||||
**
|
||||
EOF
|
||||
sleep 5
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
sleep 5
|
||||
|
||||
fi
|
||||
|
||||
# Architecture-specific flags
|
||||
case "$host_cpu" in
|
||||
@@ -153,4 +168,4 @@ esac
|
||||
if test X = "X$cc_flags_set"; then
|
||||
cc_vendor=
|
||||
cc_version=
|
||||
fi
|
||||
fi
|
||||
|
||||
36
config/hpux11.00
Normal file
@@ -0,0 +1,36 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# This file is part of the HDF5 build script. It is processed shortly
|
||||
# after configure starts and defines, among other things, flags for
|
||||
# the various compile modes.
|
||||
#
|
||||
# See BlankForm in this directory for details.
|
||||
|
||||
# Default compiler is `cc'
|
||||
if test "X-" = "X-$CC"; then
|
||||
CC=cc
|
||||
CC_BASENAME=cc
|
||||
fi
|
||||
|
||||
# Flags
|
||||
case "X-$CC" in
|
||||
X-gcc)
|
||||
CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
|
||||
DEBUG_CFLAGS="-g -fverbose-asm"
|
||||
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS="-O3"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS="-pg"
|
||||
PROFILE_CPPFLAGS=
|
||||
;;
|
||||
|
||||
*)
|
||||
CFLAGS="$CFLAGS -Ae"
|
||||
DEBUG_CFLAGS=-g
|
||||
DEBUG_CPPFLAGS="-Ae"
|
||||
PROD_CFLAGS=-O
|
||||
PROD_CPPFLAGS="-Ae"
|
||||
PROFILE_CFLAGS=
|
||||
PROFILE_CPPFLAGS="-Ae"
|
||||
;;
|
||||
esac
|
||||
@@ -6,6 +6,8 @@
|
||||
#
|
||||
# See BlankForm in this directory for details.
|
||||
|
||||
# This is for the ASCI RED TFLOPS machine
|
||||
|
||||
# The default compiler is `cicc'
|
||||
if test "X-" = "X-$CC"; then
|
||||
CC=cicc
|
||||
@@ -49,12 +51,33 @@ enable_shared="${enable_shared:-no}"
|
||||
# `ll' or if the format would be `%qd' set it to `q'.
|
||||
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
|
||||
|
||||
# Hard set sizeof_intn_t to 0 because they are not supported.
|
||||
# Hard set sizeof_intN_t to 0 because they are not supported.
|
||||
ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='0'}
|
||||
ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t='0'}
|
||||
ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t='0'}
|
||||
ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t='0'}
|
||||
ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='0'}
|
||||
ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='0'}
|
||||
ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t='0'}
|
||||
ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t='0'}
|
||||
ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t='0'}
|
||||
ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='0'}
|
||||
|
||||
# Hard set sizeof_int_leastN_t to 0 because they are not supported.
|
||||
ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t='0'}
|
||||
ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t='0'}
|
||||
ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t='0'}
|
||||
ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t='0'}
|
||||
ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t='0'}
|
||||
ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t='0'}
|
||||
ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t='0'}
|
||||
ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t='0'}
|
||||
|
||||
# Hard set sizeof_int_fastN_t to 0 because they are not supported.
|
||||
ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t='0'}
|
||||
ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t='0'}
|
||||
ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t='0'}
|
||||
ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t='0'}
|
||||
ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t='0'}
|
||||
ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t='0'}
|
||||
ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t='0'}
|
||||
ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t='0'}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ case "X-$CC_BASENAME" in
|
||||
|
||||
# Extra production flags
|
||||
# Note: higher optimizations relax alignment requirements needed.
|
||||
PROD_CFLAGS=-O
|
||||
PROD_CFLAGS="-O -s"
|
||||
PROD_CPPFLAGS=
|
||||
|
||||
# Extra profiling flags
|
||||
|
||||
@@ -74,14 +74,11 @@ case "X-$CC_BASENAME" in
|
||||
DEBUG_CPPFLAGS=
|
||||
|
||||
# Extra production flags
|
||||
PROD_CFLAGS=-O
|
||||
PROD_CFLAGS="-O -s"
|
||||
PROD_CPPFLAGS=
|
||||
|
||||
# Extra profiling flags
|
||||
PROFILE_CFLAGS=-pg
|
||||
PROFILE_CPPFLAGS=
|
||||
|
||||
# Turn off shared lib option. It does not work for IRIX64 yet.
|
||||
test `uname -s` = IRIX64 && enable_shared="${enable_shared:-no}"
|
||||
;;
|
||||
esac
|
||||
|
||||
22
config/powerpc-ibm-aix4.2.1.0
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# This file is part of the HDF5 build script. It is processed shortly
|
||||
# after configure starts and defines, among other things, flags for
|
||||
# the various compile modes.
|
||||
#
|
||||
# See BlankForm in this directory for details.
|
||||
|
||||
# Cross compiling defaults
|
||||
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
|
||||
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
|
||||
ac_cv_header_stdc=${ac_cv_header_stdc='yes'}
|
||||
ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
|
||||
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
|
||||
ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
|
||||
ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
|
||||
ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
|
||||
ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
|
||||
ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
|
||||
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
|
||||
ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
|
||||
ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8}
|
||||
63
config/powerpc-ibm-aix4.3.2.0
Normal file
@@ -0,0 +1,63 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# This file is part of the HDF5 build script. It is processed shortly
|
||||
# after configure starts and defines, among other things, flags for
|
||||
# the various compile modes.
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Compiler flags. The CPPFLAGS values should not include package debug
|
||||
# flags like `-DH5G_DEBUG' since these are added with the
|
||||
# `--enable-debug' switch of configure.
|
||||
|
||||
# What must *always* be present for things to compile correctly?
|
||||
#CFLAGS="$CFLAGS -ansi"
|
||||
#CPPFLAGS="$CPPFLAGS -I."
|
||||
|
||||
# What compiler flags should be used for code development?
|
||||
DEBUG_CFLAGS=
|
||||
DEBUG_CPPFLAGS=
|
||||
|
||||
# What compiler flags should be used for building a production
|
||||
# library?
|
||||
PROD_CFLAGS=
|
||||
PROD_CPPFLAGS=
|
||||
|
||||
# What compiler flags enable code profiling?
|
||||
PROFILE_CFLAGS=
|
||||
PROFILE_CPPFLAGS=
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Values for overriding configuration tests when cross compiling.
|
||||
# This includes compiling on some machines where the serial front end
|
||||
# compiles for a parallel back end.
|
||||
|
||||
# Set this to `yes' or `no' depending on whether the target is big
|
||||
# endian or little endian.
|
||||
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
|
||||
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
|
||||
ac_cv_header_stdc=${ac_cv_header_stdc='yes'}
|
||||
ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
|
||||
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
|
||||
ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
|
||||
ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
|
||||
ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
|
||||
ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
|
||||
ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
|
||||
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
|
||||
ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
|
||||
ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8}
|
||||
ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t=1}
|
||||
ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t=2}
|
||||
ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t=4}
|
||||
ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t=8}
|
||||
ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t=1}
|
||||
ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t=2}
|
||||
ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t=4}
|
||||
ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t=8}
|
||||
ac_cv_sizeof___int64=${ac_cv_sizeof___int64=8}
|
||||
ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
|
||||
ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes}
|
||||
ac_cv_path_install=${ac_cv_path_install='cp -r'}
|
||||
RUNPARALLEL="MP_PROCS=2 poe"
|
||||
@@ -6,10 +6,10 @@
|
||||
#
|
||||
# See BlankForm in this directory for details
|
||||
|
||||
# The default compiler is `gcc'
|
||||
# The default compiler is `sunpro cc'
|
||||
if test "X-" = "X-$CC"; then
|
||||
CC=gcc
|
||||
CC_BASENAME=gcc
|
||||
CC=cc
|
||||
CC_BASENAME=cc
|
||||
fi
|
||||
|
||||
# Try gcc compiler flags
|
||||
@@ -20,9 +20,13 @@ if test "X-" = "X-$cc_flags_set"; then
|
||||
CFLAGS="-erroff=%none"
|
||||
DEBUG_CFLAGS=-g
|
||||
DEBUG_CPPFLAGS="-DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS=-xO2
|
||||
PROD_CFLAGS="-O -s"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS=-xpg
|
||||
PROFILE_CPPFLAGS=
|
||||
cc_flags_set=yes
|
||||
# Turn off optimization flag for SUNpro compiler versions 4.x which
|
||||
# have an optimization bug. Version 5.0 works.
|
||||
($CC -V 2>&1) | grep -s 'cc: .* C 4\.' >/dev/null 2>&1 \
|
||||
&& PROD_CFLAGS="`echo $PROD_CFLAGS | sed -e 's/-O//'`"
|
||||
fi
|
||||
|
||||
138
config/unicos
Normal file
@@ -0,0 +1,138 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# This file is part of the HDF5 build script. It is processed shortly
|
||||
# after configure starts and defines, among other things, flags for
|
||||
# the various compile modes.
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Compiler flags. The CPPFLAGS values should not include package debug
|
||||
# flags like `-DH5G_DEBUG' since these are added with the
|
||||
# `--enable-debug' switch of configure.
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
# Choosing a C Compiler
|
||||
# ---------------------
|
||||
#
|
||||
# The user should be able to specify the compiler by setting the CC
|
||||
# environment variable to the name of the compiler and any switches it
|
||||
# requires for proper operation. If CC is unset then this script may
|
||||
# set it. If CC is unset by time this script completes then configure
|
||||
# will try `gcc' and `cc' in that order (perhaps some others too).
|
||||
#
|
||||
# Note: Code later in this file may depend on the value of $CC_BASENAME
|
||||
# in order to distinguish between different compilers when
|
||||
# deciding which compiler command-line switches to use. This
|
||||
# variable is set based on the incoming value of $CC and is only
|
||||
# used within this file.
|
||||
|
||||
if test "X-" = "X-$CC"; then
|
||||
CC=cc
|
||||
CC_BASENAME=cc
|
||||
fi
|
||||
# no need to use RANLIB
|
||||
RANLIB=:
|
||||
|
||||
|
||||
# C Compiler and Preprocessor Flags
|
||||
# ---------------------------------
|
||||
#
|
||||
# Flags that end with `_CFLAGS' are always passed to the compiler.
|
||||
# Flags that end with `_CPPFLAGS' are passed to the compiler when
|
||||
# compiling but not when linking.
|
||||
#
|
||||
# DEBUG_CFLAGS Flags to pass to the compiler to create a
|
||||
# DEBUG_CPPFLAGS library suitable for use with debugging
|
||||
# tools. Usually this list will exclude
|
||||
# optimization switches (like `-O') and include
|
||||
# switches that turn on symbolic debugging
|
||||
# support (like `-g').
|
||||
#
|
||||
# PROD_CFLAGS Flags to pass to the compiler to create a
|
||||
# PROD_CPPFLAGS production version of the library. These
|
||||
# usualy exclude symbolic debugging switches
|
||||
# (like `-g') and include optimization switches
|
||||
# (like `-O').
|
||||
#
|
||||
# PROFILE_CFLAGS Flags to pass to the compiler to create a
|
||||
# PROFILE_CPPFLAGS library suitable for performance testing (like
|
||||
# `-pg'). This may or may not include debugging
|
||||
# or production flags.
|
||||
#
|
||||
# CFLAGS Flags can be added to this variable which
|
||||
# might already be partially initialized. These
|
||||
# flags will always be passed to the compiler
|
||||
# and should include switches to turn on full
|
||||
# warnings. HDF5 attempts to be ANSI and Posix
|
||||
# compliant and employ good programming
|
||||
# practices resulting in few if any
|
||||
# warnings.
|
||||
#
|
||||
# Warning flags do not have to be added to CFLAGS
|
||||
# variable if the compiler is the GNU gcc
|
||||
# compiler or a descendent of gcc such as EGCS or PGCC.
|
||||
#
|
||||
# The CFLAGS should contains *something* or else
|
||||
# configure will probably add `-g'. For most
|
||||
# systems this isn't a problem but some systems
|
||||
# will disable optimizations in favor of the
|
||||
# `-g'.
|
||||
#
|
||||
#
|
||||
# These flags should be set according to the compiler being used.
|
||||
# There are two ways to check the compiler. You can try using `-v' or
|
||||
# `--version' to see if the compiler will print a version string. You
|
||||
# can use the value of $CC_BASENAME which is the base name of the
|
||||
# first word in $CC (note that the value of CC may have changed
|
||||
# above).
|
||||
|
||||
case $CC_BASENAME in
|
||||
gcc)
|
||||
CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
|
||||
DEBUG_CFLAGS="-g -fverbose-asm"
|
||||
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS="-O3 -fomit-frame-pointer"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS="-pg"
|
||||
PROFILE_CPPFLAGS=
|
||||
;;
|
||||
|
||||
cc)
|
||||
CFLAGS="$CFLAGS"
|
||||
DEBUG_CFLAGS="-g -h zero"
|
||||
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS="-O2 -h scalar0"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS="-pg"
|
||||
PROFILE_CPPFLAGS=
|
||||
;;
|
||||
|
||||
*)
|
||||
CFLAGS="$CFLAGS -ansi"
|
||||
DEBUG_CFLAGS="-g"
|
||||
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS="-O"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS="-pg"
|
||||
PROFILE_CPPFLAGS=
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
# Overriding Configure Tests
|
||||
# --------------------------
|
||||
#
|
||||
# Values for overriding configuration tests when cross compiling.
|
||||
# This includes compiling on some machines where the serial front end
|
||||
# compiles for a parallel back end.
|
||||
|
||||
# Set this to `yes' or `no' depending on whether the target is big
|
||||
# endian or little endian.
|
||||
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
|
||||
|
||||
# Set this to the width required by printf() to print type `long
|
||||
# long'. For instance, if the format would be `%lld' then set it to
|
||||
# `ll' or if the format would be `%qd' set it to `q'.
|
||||
#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
|
||||
@@ -102,7 +102,7 @@ case $CC_BASENAME in
|
||||
CFLAGS="$CFLAGS"
|
||||
DEBUG_CFLAGS="-g -h zero"
|
||||
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
||||
PROD_CFLAGS="-O2"
|
||||
PROD_CFLAGS="-O2 -h scalar0"
|
||||
PROD_CPPFLAGS=
|
||||
PROFILE_CFLAGS="-pg"
|
||||
PROFILE_CPPFLAGS=
|
||||
|
||||
228
configure.in
@@ -136,14 +136,14 @@ AC_MSG_CHECKING(for production mode)
|
||||
AC_ARG_ENABLE(production,
|
||||
[ --enable-production Determines how to run the compiler.])
|
||||
|
||||
case "X-$enableval" in
|
||||
X-yes)
|
||||
case "X-$enable_production" in
|
||||
X-|X-yes)
|
||||
AC_MSG_RESULT("production")
|
||||
CONFIG_MODE=production
|
||||
CFLAGS="$CFLAGS $PROD_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS"
|
||||
;;
|
||||
X-|X-no)
|
||||
X-no)
|
||||
AC_MSG_RESULT("development")
|
||||
CONFIG_MODE=development
|
||||
CFLAGS="$CFLAGS $DEBUG_CFLAGS"
|
||||
@@ -166,8 +166,7 @@ dnl Check for system libraries.
|
||||
dnl
|
||||
AC_CHECK_LIB(m,ceil)
|
||||
AC_CHECK_LIB(nsl,xdr_int) dnl ...for Solaris and hdf4
|
||||
AC_CHECK_LIB(coug,main) dnl ...for ASCI/Red
|
||||
AC_CHECK_LIB(jpeg,main) dnl ...required for linking hdf4 apps
|
||||
dnl AC_CHECK_LIB(coug,main) dnl ...for ASCI/Red
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl Check for system header files.
|
||||
@@ -176,7 +175,8 @@ AC_HEADER_STDC
|
||||
AC_HEADER_TIME
|
||||
dnl Unix
|
||||
AC_CHECK_HEADERS(sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h)
|
||||
AC_CHECK_HEADERS(stddef.h setjmp.h stdint.h)
|
||||
AC_CHECK_HEADERS(stddef.h setjmp.h)
|
||||
AC_CHECK_HEADERS(stdint.h, C9x=yes)
|
||||
dnl Windows
|
||||
AC_CHECK_HEADERS(io.h winsock.h sys/timeb.h)
|
||||
|
||||
@@ -207,10 +207,19 @@ AC_CHECK_SIZEOF(float, 4)
|
||||
AC_CHECK_SIZEOF(double, 8)
|
||||
AC_CHECK_SIZEOF(long double, 8)
|
||||
|
||||
dnl Checkpoint the cache
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl Posix.1g types (C9x)
|
||||
cat >>confdefs.h <<\EOF
|
||||
#include <sys/types.h>
|
||||
EOF
|
||||
if test "Xyes" = "X$C9x"; then
|
||||
cat >>confdefs.h <<\EOF
|
||||
#include <stdint.h>
|
||||
EOF
|
||||
fi
|
||||
|
||||
AC_CHECK_SIZEOF( int8_t, 1)
|
||||
AC_CHECK_SIZEOF( uint8_t, 1)
|
||||
AC_CHECK_SIZEOF( int_least8_t, 1)
|
||||
@@ -267,6 +276,63 @@ case $HSIZET in
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Checkpoint the cache
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl Is HDF4 present? If so then we can compile the h5toh4 converter. We
|
||||
dnl assume h5toh4 can be compiled and then prove otherwise when we don't find
|
||||
dnl a header file or library.
|
||||
dnl
|
||||
AC_SUBST(H5TOH4)
|
||||
H5TOH4=h5toh4
|
||||
AC_SUBST(TESTH5TOH4)
|
||||
TESTH5TOH4='$(srcdir)/testh5toh4'
|
||||
|
||||
AC_ARG_WITH(hdf4,[ --with-hdf4=INC,LIB Use the HDF4 library],,withval=[/usr/ncsa/include,/usr/ncsa/lib])
|
||||
case $withval in
|
||||
yes)
|
||||
AC_CHECK_HEADERS(mfhdf.h,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(z,deflate,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(df,Hstartaccess,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(mfhdf,SDstart,,unset H5TOH4 TESTH5TOH4)
|
||||
;;
|
||||
no)
|
||||
AC_MSG_CHECKING(for HDF4)
|
||||
AC_MSG_RESULT(suppressed)
|
||||
unset H5TOH4 TESTH5TOH4
|
||||
;;
|
||||
*)
|
||||
hdf4_inc="`echo $withval |cut -f1 -d,`"
|
||||
if test "X" != "$hdf4_inc"; then
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$hdf4_inc"
|
||||
AC_CHECK_HEADERS(mfhdf.h,,
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
unset H5TOH4 TESTH5TOH4
|
||||
)
|
||||
else
|
||||
AC_CHECK_HEADERS(mfhdf.h)
|
||||
fi
|
||||
|
||||
hdf4_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
if test "X" != "$hdf4_lib"; then
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -L$hdf4_lib"
|
||||
AC_CHECK_LIB(z,deflate,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(df,Hstartaccess,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(mfhdf,SDstart,,unset H5TOH4 TESTH5TOH4)
|
||||
else
|
||||
AC_CHECK_LIB(z,deflate,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(df,Hstartaccess)
|
||||
AC_CHECK_LIB(mfhdf,SDstart)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl Is the GNU zlib present? It has a header file `zlib.h' and a library
|
||||
dnl `-lz' and their locations might be specified with the `--enable-zlib'
|
||||
@@ -296,7 +362,7 @@ case $withval in
|
||||
fi
|
||||
|
||||
zlib_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
if test "X" != "$zlb_lib"; then
|
||||
if test "X" != "$zlib_lib"; then
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -L$zlib_lib"
|
||||
AC_CHECK_LIB(z, compress,,LDFLAGS="$saved_LDFLAGS")
|
||||
@@ -305,55 +371,9 @@ case $withval in
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl Is HDF4 present? If so then we can compile the h5toh4 converter. We
|
||||
dnl assume h5toh4 can be compiled and then prove otherwise when we don't find
|
||||
dnl a header file or library.
|
||||
dnl
|
||||
AC_SUBST(H5TOH4)
|
||||
H5TOH4=h5toh4
|
||||
AC_SUBST(TESTH5TOH4)
|
||||
TESTH5TOH4='$(srcdir)/testh5toh4'
|
||||
|
||||
AC_ARG_WITH(hdf4,[ --with-hdf4=INC,LIB Use the HDF4 library],,withval=yes)
|
||||
case $withval in
|
||||
yes)
|
||||
AC_CHECK_HEADERS(mfhdf.h,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(df,main,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(mfhdf,main,,unset H5TOH4 TESTH5TOH4)
|
||||
;;
|
||||
no)
|
||||
AC_MSG_CHECKING(for HDF4)
|
||||
AC_MSG_RESULT(suppressed)
|
||||
unset H5TOH4 TESTH5TOH4
|
||||
;;
|
||||
*)
|
||||
hdf4_inc="`echo $withval |cut -f1 -d,`"
|
||||
if test "X" != "$hdf4_inc"; then
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$hdf4_inc"
|
||||
AC_CHECK_HEADERS(mfhdf.h,,
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
unset H5TOH4 TESTH5TOH4
|
||||
)
|
||||
else
|
||||
AC_CHECK_HEADERS(mfhdf.h)
|
||||
fi
|
||||
|
||||
hdf4_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
if test "X" != "$hdf4_lib"; then
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -L$hdf4_lib"
|
||||
AC_CHECK_LIB(df,main,,unset H5TOH4 TESTH5TOH4)
|
||||
AC_CHECK_LIB(mfhdf,main,,unset H5TOH4 TESTH5TOH4)
|
||||
else
|
||||
AC_CHECK_LIB(df,main)
|
||||
AC_CHECK_LIB(mfhdf,main)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Checkpoint the cache
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl How does one figure out the local time zone? Anyone know of a
|
||||
@@ -474,9 +494,14 @@ dnl ----------------------------------------------------------------------
|
||||
dnl Try to figure out how to print `long long'. Some machines use `%lld'
|
||||
dnl and others use `%qd'. There may be more! The final `l' is a
|
||||
dnl default in case none of the others work.
|
||||
dnl Need to patch up LD_LIBRARY_PATH so that the execution can find all
|
||||
dnl the dynamic library. The correct way to do it should be updating
|
||||
dnl LD_LIBRARY_PATH along with LDFLAGS or do it with the AC_TRY_RUN macro.
|
||||
dnl
|
||||
AC_MSG_CHECKING(how to print long long)
|
||||
AC_CACHE_VAL(hdf5_cv_printf_ll,
|
||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
|
||||
export LD_LIBRARY_PATH
|
||||
for hdf5_cv_printf_ll in l L q ll unknown; do
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
@@ -504,21 +529,26 @@ AC_ARG_ENABLE(debug,
|
||||
|
||||
AC_SUBST(DEBUG_PKG)
|
||||
all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
|
||||
if test X = "X$DEBUG_PKG" -o Xyes = "X$DEBUG_PKG"; then
|
||||
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"
|
||||
CPPFLAGS="$CPPFLAGS -UNDEBUG"
|
||||
AC_MSG_RESULT(default ($DEBUG_PKG))
|
||||
elif test Xall = "X$DEBUG_PKG"; then
|
||||
DEBUG_PKG=$all_packages
|
||||
CPPFLAGS="$CPPFLAGS -UNDEBUG"
|
||||
AC_MSG_RESULT(all ($DEBUG_PKG))
|
||||
elif test Xno = "X$DEBUG_PKG" -o Xnone = "X$DEBUG_PKG"; then
|
||||
AC_MSG_RESULT(none)
|
||||
DEBUG_PKG=
|
||||
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
||||
else
|
||||
AC_MSG_RESULT($DEBUG_PKG)
|
||||
fi
|
||||
case X-$DEBUG_PKG in
|
||||
X-yes)
|
||||
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"
|
||||
CPPFLAGS="$CPPFLAGS -UNDEBUG"
|
||||
AC_MSG_RESULT(default ($DEBUG_PKG))
|
||||
;;
|
||||
X-all)
|
||||
DEBUG_PKG=$all_packages
|
||||
CPPFLAGS="$CPPFLAGS -UNDEBUG"
|
||||
AC_MSG_RESULT(all ($DEBUG_PKG))
|
||||
;;
|
||||
X-|X-no|X-none)
|
||||
AC_MSG_RESULT(none)
|
||||
DEBUG_PKG=
|
||||
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT($DEBUG_PKG)
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "X" != "X$DEBUG_PKG"; then
|
||||
for pkg in `echo $DEBUG_PKG | tr 'a-z,' 'A-Z '`; do
|
||||
@@ -535,7 +565,7 @@ AC_ARG_ENABLE(trace,
|
||||
TRACE=$enableval)
|
||||
|
||||
AC_SUBST(TRACE_API)
|
||||
if test X = "X$TRACE" -o Xyes = "X$TRACE"; then
|
||||
if test Xyes = "X$TRACE"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
TRACE_API=yes
|
||||
CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API"
|
||||
@@ -545,6 +575,9 @@ else
|
||||
CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API"
|
||||
fi
|
||||
|
||||
dnl Checkpoint the cache
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl The following variables are used to distinguish between building a
|
||||
dnl serial and parallel library.
|
||||
@@ -658,9 +691,24 @@ case "X-$enable_parallel" in
|
||||
|
||||
X-yes)
|
||||
# We want to compile a parallel library with a compiler that
|
||||
# already knows how to link with MPI and MPI-IO.
|
||||
# may already know how to link with MPI and MPI-IO.
|
||||
AC_MSG_RESULT(provided by compiler)
|
||||
PARALLEL=yes
|
||||
|
||||
# Try link a simple MPI program. If fail, try again with -lmpi.
|
||||
AC_TRY_LINK(,MPI_Init(),,AC_CHECK_LIB(mpi,MPI_Init,,PARALLEL=no))
|
||||
|
||||
# Then try link a simple MPI-IO program. If fail, try again with
|
||||
# -lmpio.
|
||||
if test "yes" = "$PARALLEL"; then
|
||||
AC_TRY_LINK(,MPI_File_open(),,
|
||||
AC_CHECK_LIB(mpio,MPI_File_open,,PARALLEL=no))
|
||||
fi
|
||||
|
||||
# Set RUNPARALLEL to mpirun if not set yet.
|
||||
if test "yes" = "$PARALLEL" -a "X-" = "X-$RUNPARALLEL"; then
|
||||
RUNPARALLEL="mpirun -np \$\${NPROCS:=2}"
|
||||
fi
|
||||
;;
|
||||
|
||||
X-mpich)
|
||||
@@ -707,11 +755,11 @@ if test "X-" != "X-$PARALLEL"; then
|
||||
AC_MSG_RESULT($RUNPARALLEL)
|
||||
|
||||
# Check that we can link a simple MPI and MPI-IO application
|
||||
dnl AC_MSG_CHECKING(whether a simple MPI-IO program can be linked)
|
||||
dnl AC_TRY_LINK(,[MPI_Init();MPI_File_open();],
|
||||
dnl AC_MSG_RESULT(yes),
|
||||
dnl AC_MSG_RESULT(no)
|
||||
dnl AC_MSG_ERROR('unable to link a simple MPI-IO application'))
|
||||
AC_MSG_CHECKING(whether a simple MPI-IO program can be linked)
|
||||
AC_TRY_LINK(,[MPI_Init();MPI_File_open();],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_ERROR('unable to link a simple MPI-IO application'))
|
||||
|
||||
|
||||
# There *must* be some way to run in parallel even if it's just the
|
||||
@@ -743,7 +791,7 @@ AC_SUBST(H5_VERSION)
|
||||
AC_SUBST(CONFIG_DATE) CONFIG_DATE=`date`
|
||||
|
||||
# User doing the configuration
|
||||
AC_SUBST(CONFIG_USER) CONFIG_USER="$USER@`hostname`"
|
||||
AC_SUBST(CONFIG_USER) CONFIG_USER="`whoami`@`hostname`"
|
||||
if test "X-$ORGANIZATION" != "X-"; then
|
||||
CONFIG_USER="$CONFIG_USER at $ORGANIZATION"
|
||||
fi
|
||||
@@ -753,10 +801,10 @@ AC_SUBST(CONFIG_MODE)
|
||||
|
||||
# Byte sex from the AC_C_BIGENDIAN macro.
|
||||
AC_SUBST(BYTESEX)
|
||||
if test "X-$WORDS_BIGENDIAN" = "X-"; then
|
||||
BYTESEX="little-endian"
|
||||
else
|
||||
if test $ac_cv_c_bigendian = yes; then
|
||||
BYTESEX="big-endian"
|
||||
else
|
||||
BYTESEX="little-endian"
|
||||
fi
|
||||
|
||||
# Are we compiling static libraries, shared libraries, or both?
|
||||
@@ -779,7 +827,18 @@ AC_SUBST(CC_VERSION)
|
||||
if test "X-$cc_vendor" != "X-" && test "X-$cc_version" != "X-"; then
|
||||
CC_VERSION="$CC ($cc_vendor-$cc_version)"
|
||||
else
|
||||
CC_VERSION="$CC"
|
||||
# If $CC contains directory component, take it as is;
|
||||
# else search it among PATH components.
|
||||
if `echo $CC | grep / 2>&1 /dev/null`; then
|
||||
CC_VERSION="$CC"
|
||||
else
|
||||
for x in `echo $PATH | sed -e 's/:/ /g'`; do
|
||||
if test -x $x/$CC; then
|
||||
CC_VERSION="$x/$CC"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -800,7 +859,7 @@ else
|
||||
AC_SUBST_FILE(DEPEND1) DEPEND1=$srcdir/src/.distdep
|
||||
AC_SUBST_FILE(DEPEND2) DEPEND2=$srcdir/test/.distdep
|
||||
AC_SUBST_FILE(DEPEND3) DEPEND3=$srcdir/testpar/.distdep
|
||||
AC_SUBST_FILE(DEPEND4) DEPEND4=$srcdirtools/.distdep
|
||||
AC_SUBST_FILE(DEPEND4) DEPEND4=$srcdir/tools/.distdep
|
||||
fi
|
||||
|
||||
dnl We don't need to say when we're entering directories if we're using
|
||||
@@ -839,7 +898,8 @@ saved_no_create=$no_create
|
||||
no_create=yes
|
||||
AC_OUTPUT(src/libhdf5.settings config/depend config/commence config/conclude \
|
||||
Makefile src/Makefile pablo/Makefile test/Makefile \
|
||||
testpar/Makefile tools/Makefile examples/Makefile)
|
||||
testpar/Makefile tools/Makefile examples/Makefile \
|
||||
doc/Makefile doc/html/Makefile doc/html/Tutor/Makefile)
|
||||
no_create=$saved_no_create
|
||||
|
||||
# Then the stamp2 file for H5config.h
|
||||
|
||||
64
doc/Makefile.in
Normal file
@@ -0,0 +1,64 @@
|
||||
# HDF5 Library Doc Makefile(.in)
|
||||
#
|
||||
# Copyright (C) 1997 National Center for Supercomputing Applications.
|
||||
# All rights reserved.
|
||||
#
|
||||
#
|
||||
# This is the top level makefile of the Doc directory. It mostly just
|
||||
# reinvokes make in the various subdirectories.
|
||||
# You can alternatively invoke make from each subdirectory manually.
|
||||
#
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:@srcdir@
|
||||
@COMMENCE@
|
||||
|
||||
# Subdirectories in build-order
|
||||
SUBDIRS=html
|
||||
|
||||
##===========================================================================
|
||||
lib progs check test _test install uninstall:
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@) || exit 1; \
|
||||
done
|
||||
|
||||
tests TAGS dep depend:
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@) || exit 1; \
|
||||
done
|
||||
|
||||
$(docdir):
|
||||
mkdir $@ && chmod 755 $@
|
||||
|
||||
install-doc: $(docdir)
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@) || exit 1; \
|
||||
done
|
||||
|
||||
uninstall-doc:
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@) || exit 1; \
|
||||
done
|
||||
|
||||
.PHONY: all lib progs test _test install uninstall dep depend clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
clean mostlyclean:
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@); \
|
||||
done
|
||||
|
||||
distclean:
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@); \
|
||||
done
|
||||
-$(RM) Makefile
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This target is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
@@SETX@; for d in $(SUBDIRS); do \
|
||||
(cd $$d && $(MAKE) $@); \
|
||||
done
|
||||
|
||||
125
doc/html/ADGuide.html
Normal file
@@ -0,0 +1,125 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
HDF5 User's Guide
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<center>
|
||||
<h1>HDF5 Application Developer's Guide</h1>
|
||||
</center>
|
||||
|
||||
|
||||
<center>
|
||||
<table border=0 width=80%>
|
||||
|
||||
|
||||
<tr><td valign=top colspan=3>
|
||||
These documents provide guidelines and standards specifications
|
||||
for HDF5 application developers.
|
||||
</td></tr>
|
||||
|
||||
<tr><td colspan=2> </td></tr>
|
||||
|
||||
<tr><td valign=top><a href="XML_DTD.html">The XML DTD </a>
|
||||
<br> <a href="XML_DTD.html">for HDF5</a>
|
||||
</td><td></td><td valign=top>The standard HDF5 XML DTD and
|
||||
design notes.
|
||||
</td></tr>
|
||||
|
||||
<tr><td colspan=2> </td></tr>
|
||||
|
||||
<tr><td valign=top width=35%><a href="ImageSpec.html">
|
||||
HDF5 Image and</a>
|
||||
<br> <a href="ImageSpec.html">Palette Specification</a>
|
||||
</td><td></td><td valign=top>A specification for the implementation
|
||||
of images and palettes in HDF5 applications.
|
||||
</td></tr>
|
||||
|
||||
<tr><td colspan=2> </td></tr>
|
||||
|
||||
<tr><td valign=top width=35%><a href="ADGuide/H4toH5Mapping.pdf">
|
||||
Mapping HDF4 Objects</a>
|
||||
<br> <a href="ADGuide/H4toH5Mapping.pdf">to HDF5 Objects</a>
|
||||
</td><td></td><td valign=top>Guidelines for translating
|
||||
HDF4 file objects into valid HDF5 file objects.
|
||||
<i>(PDF format only)</i>
|
||||
</td></tr>
|
||||
|
||||
<tr><td colspan=2> </td></tr>
|
||||
|
||||
<!--
|
||||
<tr><td valign=top><a href="xxx.html">xxx</a>
|
||||
<br> <a href="xxx.html">xxx</a>
|
||||
</td><td></td><td valign=top>xxx
|
||||
<br>
|
||||
xxx
|
||||
</td></tr>
|
||||
-->
|
||||
|
||||
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<table width=100% border=0>
|
||||
<tr><td align=left valign=top>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<br>
|
||||
Last modified: 9 June 2000
|
||||
|
||||
</td><td align=right valign=top>
|
||||
<a href="Copyright.html">Copyright</a>
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/ADGuide/H4toH5Mapping.pdf
Normal file
@@ -1,7 +1,7 @@
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Attributes</title>
|
||||
<title>Attribute Interface (H5A)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
Attributes
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -174,7 +157,7 @@ And in this document, the
|
||||
<h2>4. Attribute Inquiry Functions</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>int H5Aiterate (hid_t <em>loc_id</em>,
|
||||
<dt><code>herr_t H5Aiterate (hid_t <em>loc_id</em>,
|
||||
unsigned *<em>attr_number</em>,
|
||||
H5A_operator <em>operator</em>,
|
||||
void *<em>operator_data</em>)</code>
|
||||
@@ -217,7 +200,7 @@ And in this document, the
|
||||
or resource leaks will develop.
|
||||
This function returns a datatype ID for success or negative for failure.
|
||||
<br><br>
|
||||
<dt><code>size_t H5Aget_name (hid_t <em>attr_id</em>,
|
||||
<dt><code>ssize_t H5Aget_name (hid_t <em>attr_id</em>,
|
||||
size_t <em>buf_size</em>, char *<em>buf</em>)</code>
|
||||
<dd>This function retrieves the name of an attribute for an attribute ID.
|
||||
Up to <em>buf_size</em> characters are stored in <em>buf</em> followed by a
|
||||
@@ -238,56 +221,39 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
Attributes
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -296,9 +262,11 @@ And in this document, the
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 2 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -11,63 +11,48 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
Caching
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<h1>Meta Data Caching</h1>
|
||||
<h1>Data Caching</h1>
|
||||
|
||||
<h2>1. Meta Data Caching</h2>
|
||||
|
||||
<p>The HDF5 library caches two types of data: meta data and raw
|
||||
data. The meta data cache holds file objects like the file
|
||||
@@ -79,7 +64,7 @@ And in this document, the
|
||||
are handled by preempting the older object in favor of the new
|
||||
one.
|
||||
|
||||
<h1>Raw Data Chunk Caching</h1>
|
||||
<h2>2. Raw Data Chunk Caching</h2>
|
||||
|
||||
<p>Raw data chunks are cached because I/O requests at the
|
||||
application level typically don't map well to chunks at the
|
||||
@@ -112,7 +97,7 @@ And in this document, the
|
||||
a diagonal accross the dataset where each request overlaps the
|
||||
previous request would benefit from a small <em>w0</em>.
|
||||
|
||||
<h1>The API</h1>
|
||||
<h2>3. Data Caching Operations</h2>
|
||||
|
||||
<p>The cache parameters for both caches are part of a file access
|
||||
property list and are set and queried with this pair of
|
||||
@@ -139,78 +124,56 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
Caching
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Tue May 26 15:20:14 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Tue May 26 15:38:27 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Tue May 26 15:20:14 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dataset Chunking Issues</title>
|
||||
<title>Dataset Chunking</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
Chunking
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -248,78 +231,56 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
Chunking
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Tue Oct 20 12:38:40 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Fri Oct 23 10:30:52 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<!-- Created: Tue Oct 20 12:38:40 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
@@ -1,31 +1,35 @@
|
||||
<html>
|
||||
<head><title>
|
||||
HDF5 Copyright Notice
|
||||
</title></head>
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
HDF5 Copyright Notice
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Copyright Notice and Statement for
|
||||
<br>
|
||||
NCSA Hierarchical Data Format (HDF) Software Library and Utilities</h3>
|
||||
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities</h3>
|
||||
<hr>
|
||||
<p>
|
||||
|
||||
|
||||
NCSA Hierarchical Data Format (HDF) Software Library and Utilities
|
||||
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
<br>
|
||||
Copyright 1998 the Board of Trustees of the University of Illinois
|
||||
Copyright 1998, 1999, 2000 by the Board of Trustees of the University of Illinois
|
||||
<br>
|
||||
<strong>All rights reserved.</strong>
|
||||
<p>
|
||||
|
||||
Contributors: National Center for Supercomputing Applications (NCSA) at
|
||||
the University of Illinois, Lawrence Livermore Nat'l Laboratory (LLNL),
|
||||
Sandia National Laboratories (SNL), Los Alamos National Laboratory (LANL),
|
||||
Jean-loup Gailly and Mark Adler (gzip library)
|
||||
the University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore
|
||||
National Laboratory (LLNL), Sandia National Laboratories (SNL), Los Alamos
|
||||
National Laboratory (LANL), Jean-loup Gailly and Mark Adler (gzip library).
|
||||
<p>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
@@ -35,10 +39,10 @@ provided that the following conditions are met:
|
||||
|
||||
<ol>
|
||||
<li>Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
this list of conditions, and the following disclaimer.
|
||||
|
||||
<li>Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
notice, this list of conditions, and the following disclaimer in the
|
||||
documentation and/or materials provided with the distribution.
|
||||
|
||||
<li>In addition, redistributions of modified forms of the source or binary
|
||||
@@ -46,9 +50,9 @@ code must carry prominent notices stating that the original code was
|
||||
changed and the date of the change.
|
||||
|
||||
<li>All publications or advertising materials mentioning features or use of
|
||||
this software must acknowledge that it was developed by the National Center
|
||||
for Supercomputing Applications at the University of Illinois, and credit
|
||||
the Contributors.
|
||||
this software are asked, but not required, to acknowledge that it was
|
||||
developed by the National Center for Supercomputing Applications at the
|
||||
University of Illinois at Urbana-Champaign and to credit the contributors.
|
||||
|
||||
<li>Neither the name of the University nor the names of the Contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
@@ -63,13 +67,52 @@ the possibility of such damage.
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
Portions of HDF5 were developed with support from the University of
|
||||
California, Lawrence Livermore National Laboratory (UC LLNL).
|
||||
The following statement applies to those portions of the product
|
||||
and must be retained in any redistribution of source code, binaries,
|
||||
documentation, and/or accompanying materials:
|
||||
|
||||
<dir>
|
||||
This work was partially produced at the University of California,
|
||||
Lawrence Livermore National Laboratory (UC LLNL) under contract no.
|
||||
W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
|
||||
(DOE) and The Regents of the University of California (University)
|
||||
for the operation of UC LLNL.
|
||||
<p>
|
||||
<b>DISCLAIMER:</b>
|
||||
This work was prepared as an account of work sponsored by an agency
|
||||
of the United States Government. Neither the United States
|
||||
Government nor the University of California nor any of their
|
||||
employees, makes any warranty, express or implied, or assumes any
|
||||
liability or responsibility for the accuracy, completeness, or
|
||||
usefulness of any information, apparatus, product, or process
|
||||
disclosed, or represents that its use would not infringe privately-
|
||||
owned rights. Reference herein to any specific commercial products,
|
||||
process, or service by trade name, trademark, manufacturer, or
|
||||
otherwise, does not necessarily constitute or imply its endorsement,
|
||||
recommendation, or favoring by the United States Government or the
|
||||
University of California. The views and opinions of authors
|
||||
expressed herein do not necessarily state or reflect those of the
|
||||
United States Government or the University of California, and shall
|
||||
not be used for advertising or product endorsement purposes.
|
||||
</dir>
|
||||
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 7 June 2000
|
||||
<br>
|
||||
Last modified: 8 September 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Dataset Interface (H5D)</title>
|
||||
<title>Dataset Interface (H5D)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -10,56 +10,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
Datasets
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -83,7 +66,7 @@ And in this document, the
|
||||
<dt>Constant Meta Data
|
||||
<dd>Meta data that is created when the dataset is created and
|
||||
exists unchanged for the life of the dataset. For instance,
|
||||
the data type of stored array elements is defined when the
|
||||
the datatype of stored array elements is defined when the
|
||||
dataset is created and cannot be subsequently changed.
|
||||
|
||||
<dt>Persistent Meta Data
|
||||
@@ -96,7 +79,7 @@ And in this document, the
|
||||
<dd>Meta data that exists to describe how raw data is organized
|
||||
in the application's memory space. For instance, the data
|
||||
type of elements in an application array might not be the same
|
||||
as the data type of those elements as stored in the HDF5 file.
|
||||
as the datatype of those elements as stored in the HDF5 file.
|
||||
|
||||
<dt>Transport Meta Data
|
||||
<dd>Meta data that is used only during the transfer of raw data
|
||||
@@ -107,7 +90,7 @@ And in this document, the
|
||||
|
||||
<p>Each of these classes of meta data is handled differently by
|
||||
the library although the same API might be used to create them.
|
||||
For instance, the data type exists as constant meta data and as
|
||||
For instance, the datatype exists as constant meta data and as
|
||||
memory meta data; the same API (the <code>H5T</code> API) is
|
||||
used to manipulate both pieces of meta data but they're handled
|
||||
by the dataset API (the <code>H5D</code> API) in different
|
||||
@@ -137,7 +120,7 @@ And in this document, the
|
||||
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><code>H5D_COMPACT</code>
|
||||
<dt><code>H5D_COMPACT</code> <i><b>(Not yet implemented.)</b></i>
|
||||
<dd>The raw data is presumably small and can be stored
|
||||
directly in the object header. Such data is
|
||||
non-extendible, non-compressible, non-sparse, and cannot
|
||||
@@ -145,7 +128,7 @@ And in this document, the
|
||||
arbitrary but are enforced because of the small size of
|
||||
the raw data. Storing data in this format eliminates the
|
||||
disk seek/read request normally necessary to read raw
|
||||
data. <b>This layout is not implemented yet.</b>
|
||||
data.
|
||||
|
||||
<br><br>
|
||||
<dt><code>H5D_CONTIGUOUS</code>
|
||||
@@ -185,7 +168,9 @@ And in this document, the
|
||||
</dl>
|
||||
</dl>
|
||||
|
||||
<a name="Dataset_PSetChunk">
|
||||
<p>Once the general layout is defined, the user can define
|
||||
</a>
|
||||
properties of that layout. Currently, the only layout that has
|
||||
user-settable properties is the <code>H5D_CHUNKED</code> layout,
|
||||
which needs to know the dimensionality and chunk size.
|
||||
@@ -236,10 +221,12 @@ H5Pset_chunk (plist, 2, size);
|
||||
|
||||
<h2>3. Compression Properties</h2>
|
||||
|
||||
<p>Some types of storage layout allow data compression which is
|
||||
defined by the functions described here. <b>Compression is not
|
||||
implemented yet.</b>
|
||||
<p>Chunked data storage
|
||||
(see <a href="#Dataset_PSetChunk"><code>H5Pset_chunk</code></a>)
|
||||
allows data compression as defined by the function
|
||||
<code>H5Pset_deflate</code>.
|
||||
|
||||
<!--
|
||||
<dl>
|
||||
<dt><code>herr_t H5Pset_compression (hid_t <em>plist_id</em>,
|
||||
H5Z_method_t <em>method</em>)</code>
|
||||
@@ -262,6 +249,7 @@ H5Pset_chunk (plist, 2, size);
|
||||
(LZ77) encoding is used, the same encoding used by the
|
||||
free GNU <code>gzip</code> program.
|
||||
</dl>
|
||||
-->
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_deflate (hid_t <em>plist_id</em>,
|
||||
@@ -299,7 +287,8 @@ H5Pset_chunk (plist, 2, size);
|
||||
continues for <em>size</em> bytes. The space represented by this
|
||||
segment is adjacent to the space already represented by the external
|
||||
file list. The last segment in a file list may have the size
|
||||
<code>H5F_UNLIMITED</em>.
|
||||
<code>H5F_UNLIMITED</code>, in which case the external file may be
|
||||
of unlimited size and no more files can be added to the external files list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>int H5Pget_external_count (hid_t <em>plist</em>)</code>
|
||||
@@ -397,28 +386,28 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
through some other library.
|
||||
|
||||
|
||||
<h2>5. Data Type</h2>
|
||||
<h2>5. Datatype</h2>
|
||||
|
||||
<p>Raw data has a constant data type which describes the data type
|
||||
of the raw data stored in the file, and a memory data type that
|
||||
describes the data type stored in application memory. Both data
|
||||
<p>Raw data has a constant datatype which describes the datatype
|
||||
of the raw data stored in the file, and a memory datatype that
|
||||
describes the datatype stored in application memory. Both data
|
||||
types are manipulated with the <a
|
||||
href="Datatypes.html"><code>H5T</code></a> API.
|
||||
|
||||
<p>The constant file data type is associated with the dataset when
|
||||
<p>The constant file datatype is associated with the dataset when
|
||||
the dataset is created in a manner described below. Once
|
||||
assigned, the constant datatype can never be changed.
|
||||
|
||||
<p>The memory data type is specified when data is transferred
|
||||
<p>The memory datatype is specified when data is transferred
|
||||
to/from application memory. In the name of data sharability,
|
||||
the memory data type must be specified, but can be the same
|
||||
type identifier as the constant data type.
|
||||
the memory datatype must be specified, but can be the same
|
||||
type identifier as the constant datatype.
|
||||
|
||||
<p>During dataset I/O operations, the library translates the raw
|
||||
data from the constant data type to the memory data type or vice
|
||||
versa. Structured data types include member offsets to allow
|
||||
data from the constant datatype to the memory datatype or vice
|
||||
versa. Structured datatypes include member offsets to allow
|
||||
reordering of struct members and/or selection of a subset of
|
||||
members and array data types include index permutation
|
||||
members and array datatypes include index permutation
|
||||
information to allow things like transpose operations (<b>the
|
||||
prototype does not support array reordering</b>) Permutations
|
||||
are relative to some extrinsic descritpion of the dataset.
|
||||
@@ -452,7 +441,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
|
||||
<p>Each dataset has a set of constant and persistent properties
|
||||
which describe the layout method, pre-compression
|
||||
transformation, compression method, data type, external storage,
|
||||
transformation, compression method, datatype, external storage,
|
||||
and data space. The constant properties are set as described
|
||||
above in a dataset creation property list whose identifier is
|
||||
passed to <code>H5Dcreate()</code>.
|
||||
@@ -462,8 +451,8 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
*<em>name</em>, hid_t <em>type_id</em>, hid_t
|
||||
<em>space_id</em>, hid_t <em>create_plist_id</em>)</code>
|
||||
<dd>A dataset is created by calling <code>H5Dcreate</code> with
|
||||
a file identifier, a dataset name, a data type, a data space,
|
||||
and constant properties. The data type and data space are the
|
||||
a file identifier, a dataset name, a datatype, a data space,
|
||||
and constant properties. The datatype and data space are the
|
||||
type and space of the dataset as it will exist in the file,
|
||||
which may be different than in application memory. The
|
||||
<em>create_plist_id</em> is a <code>H5P_DATASET_CREATE</code>
|
||||
@@ -511,7 +500,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<dl>
|
||||
<dt><code>hid_t H5Dget_type (hid_t <em>dataset_id</em>)</code>
|
||||
<dd>Returns an identifier for a copy of the dataset permanent
|
||||
data type or negative for failure.
|
||||
datatype or negative for failure.
|
||||
|
||||
<dt><code>hid_t H5Dget_space (hid_t <em>dataset_id</em>)</code>
|
||||
<dd>Returns an identifier for a copy of the dataset permanent
|
||||
@@ -534,7 +523,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<p>A dataset also has memory properties which describe memory
|
||||
within the application, and transfer properties that control
|
||||
various aspects of the I/O operations. The memory can have a
|
||||
data type different than the permanent file data type (different
|
||||
datatype different than the permanent file datatype (different
|
||||
number types, different struct member offsets, different array
|
||||
element orderings) and can also be a different size (memory is a
|
||||
subset of the permanent dataset elements, or vice versa). The
|
||||
@@ -555,7 +544,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<dt><code>size_t H5Pget_buffer (hid_t <em>xfer_plist</em>, void
|
||||
**<em>tconv_buf</em>, void **<em>bkg_buf</em>)</code>
|
||||
<dd>Sets or retrieves the maximum size in bytes of the temporary
|
||||
buffer used for data type conversion in the I/O pipeline. An
|
||||
buffer used for datatype conversion in the I/O pipeline. An
|
||||
application-defined buffer can also be supplied as the
|
||||
<em>tconv_buf</em> argument, otherwise a buffer will be
|
||||
allocated and freed on demand by the library. A second
|
||||
@@ -593,7 +582,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
a dataset transfer property list so that strip mining
|
||||
does not occur. It takes an (optional) dataset transfer
|
||||
property list, a dataset, a data space that describes
|
||||
what data points are being transfered, and a data type
|
||||
what data points are being transfered, and a datatype
|
||||
for the data points in memory. It returns a (new)
|
||||
dataset transfer property list with the temporary
|
||||
buffer size set to an appropriate value. The return
|
||||
@@ -604,7 +593,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
2 disable_strip_mining (hid_t xfer_plist, hid_t dataset,
|
||||
3 hid_t space, hid_t mem_type)
|
||||
4 {
|
||||
5 hid_t file_type; /* File data type */
|
||||
5 hid_t file_type; /* File datatype */
|
||||
6 size_t type_size; /* Sizeof larger type */
|
||||
7 size_t size; /* Temp buffer size */
|
||||
8 hid_t xfer_plist; /* Return value */
|
||||
@@ -643,10 +632,10 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<h2>11. Raw Data I/O</h2>
|
||||
|
||||
<p>All raw data I/O is accomplished through these functions which
|
||||
take a dataset handle, a memory data type, a memory data space,
|
||||
take a dataset handle, a memory datatype, a memory data space,
|
||||
a file data space, transfer properties, and an application
|
||||
memory buffer. They translate data between the memory data type
|
||||
and space and the file data type and space. The data spaces can
|
||||
memory buffer. They translate data between the memory datatype
|
||||
and space and the file datatype and space. The data spaces can
|
||||
be used to describe partial I/O operations.
|
||||
|
||||
<dl>
|
||||
@@ -655,7 +644,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<em>file_space_id</em>, hid_t <em>xfer_plist_id</em>,
|
||||
void *<em>buf</em>/*out*/)</code>
|
||||
<dd>Reads raw data from the specified dataset into <em>buf</em>
|
||||
converting from file data type and space to memory data type
|
||||
converting from file datatype and space to memory datatype
|
||||
and space.
|
||||
|
||||
<br><br>
|
||||
@@ -664,8 +653,8 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<em>file_space_id</em>, hid_t <em>xfer_plist_id</em>,
|
||||
const void *<em>buf</em>)</code>
|
||||
<dd>Writes raw data from an application buffer <em>buf</em> to
|
||||
the specified dataset converting from memory data type and
|
||||
space to file data type and space.
|
||||
the specified dataset converting from memory datatype and
|
||||
space to file datatype and space.
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -673,7 +662,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
supplied. However, it can be the same identifier as was used to
|
||||
create the dataset or as was returned by
|
||||
<code>H5Dget_type()</code>; the library will not implicitly
|
||||
derive memory data types from constant data types.
|
||||
derive memory datatypes from constant datatypes.
|
||||
|
||||
<p>For complete reads of the dataset one may supply
|
||||
<code>H5S_ALL</code> as the argument for the file data space.
|
||||
@@ -732,10 +721,10 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
26 chunk_size[0] = chunk_size[1] = 100;
|
||||
27 properties = H5Pcreate (H5P_DATASET_CREATE);
|
||||
28 H5Pset_chunk (properties, 2, chunk_size);
|
||||
29 H5Pset_compression (properties, H5D_COMPRESS_LZ77);
|
||||
29 H5Pset_deflate (properties, 9);
|
||||
30
|
||||
31 /*
|
||||
32 * Create a new dataset within the file. The data type
|
||||
32 * Create a new dataset within the file. The datatype
|
||||
33 * and data space describe the data on disk, which may
|
||||
34 * be different than the format used in the application's
|
||||
35 * memory.
|
||||
@@ -744,7 +733,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
38 data_space, properties);
|
||||
39
|
||||
40 /*
|
||||
41 * Write the array to the file. The data type and data
|
||||
41 * Write the array to the file. The datatype and data
|
||||
42 * space describe the format of the data in the `dd'
|
||||
43 * buffer. The raw data is translated to the format
|
||||
44 * required on disk defined above. We use default raw
|
||||
@@ -865,7 +854,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
8 dataset = H5Dopen (file, "dataset");
|
||||
9
|
||||
10 /*
|
||||
11 * Describe the memory data type, a struct with a single
|
||||
11 * Describe the memory datatype, a struct with a single
|
||||
12 * "delta" member.
|
||||
13 */
|
||||
14 type = H5Tcreate (H5T_COMPOUND, sizeof(double));
|
||||
@@ -894,78 +883,56 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
Datasets
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Tue Dec 2 09:17:09 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Wed May 13 18:57:47 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Tue Dec 2 09:17:09 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 7 April 2000
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
||||
<TITLE>The Data Space Interface (H5S)</TITLE>
|
||||
<TITLE>Dataspace Interface (H5S)</TITLE>
|
||||
</HEAD>
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
@@ -10,56 +10,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
Dataspaces
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -311,6 +294,8 @@ Releases resources associated with a dataspace. Subsequent use of the
|
||||
dataspace identifier after this call is undefined.
|
||||
</DD>
|
||||
|
||||
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
||||
|
||||
<DT>
|
||||
<TT>H5S_class_t H5Sextent_class (hid_t <I>space</I>)</TT></DT>
|
||||
|
||||
@@ -319,6 +304,9 @@ Query a dataspace to determine the current class of a dataspace. The value
|
||||
which is returned is one of: H5S_SCALAR, H5S_SIMPLE on success or
|
||||
H5S_NO_CLASS on failure.
|
||||
</DD>
|
||||
|
||||
-->
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
@@ -557,7 +545,7 @@ may execute slower.
|
||||
</DD>
|
||||
|
||||
<DT>
|
||||
<TT>hbool_t H5Sselect_valid (hid_t <I>space</I>)</TT></DT>
|
||||
<TT>htri_t H5Sselect_valid (hid_t <I>space</I>)</TT></DT>
|
||||
|
||||
<DD>
|
||||
This function verifies that the selection for a dataspace is within the extent
|
||||
@@ -647,82 +635,56 @@ is returned.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
Dataspaces
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<ADDRESS>
|
||||
<A HREF="mailto:matzke@llnl.gov">Robb Matzke</A></ADDRESS>
|
||||
|
||||
<ADDRESS>
|
||||
<A HREF="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</A></ADDRESS>
|
||||
|
||||
<BR>
|
||||
-->
|
||||
<!-- Created: Thu Dec 4 14:57:32 EST 1997 --><!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Thu May 28 15:12:04 EST 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<!-- Created: Thu Dec 4 14:57:32 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Last modified: 26 April 1999
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -1,921 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Enumeration Data Types in the Data Type Interface (H5T)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<br>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<h1>The Data Type Interface (H5T) <font size=-1><i>(contitnued)</i></font></h1>
|
||||
|
||||
<p align=right><font size=-1><i>
|
||||
(Return to <a href="Datatypes.html#Datatypes_Enum">Data Types Interface (H5T)</a>.)
|
||||
</font></i>
|
||||
|
||||
<h2>7. Enumeration Data Types</h2>
|
||||
|
||||
<h3>7.1. Introduction</h2>
|
||||
|
||||
<p>An HDF enumeration data type is a 1:1 mapping between a set of
|
||||
symbols and a set of integer values, and an order is imposed on
|
||||
the symbols by their integer values. The symbols are passed
|
||||
between the application and library as character strings and all
|
||||
the values for a particular enumeration type are of the same
|
||||
integer type, which is not necessarily a native type.
|
||||
|
||||
<h3>7.2. Creation</h2>
|
||||
|
||||
<p>Creation of an enumeration data type resembles creation of a
|
||||
compound data type: first an empty enumeration type is created,
|
||||
then members are added to the type, then the type is optionally
|
||||
locked.
|
||||
|
||||
<dl>
|
||||
<dt><code>hid_t H5Tcreate(H5T_class_t <em>type_class</em>,
|
||||
size_t <em>size</em>)</code>
|
||||
<dd>This function creates a new empty enumeration data type based
|
||||
on a native signed integer type. The first argument is the
|
||||
constant <code>H5T_ENUM</code> and the second argument is the
|
||||
size in bytes of the native integer on which the enumeration
|
||||
type is based. If the architecture does not support a native
|
||||
signed integer of the specified size then an error is
|
||||
returned.
|
||||
|
||||
<pre>
|
||||
/* Based on a native signed short */
|
||||
hid_t hdf_en_colors = H5Tcreate(H5T_ENUM, sizeof(short));</pre>
|
||||
|
||||
|
||||
<dt><code>hid_t H5Tenum_create(hid_t <em>base</em>)</code>
|
||||
<dd>This function creates a new empty enumeration data type based
|
||||
on some integer data type <em>base</em> and is a
|
||||
generalization of the <code>H5Tcreate()</code> function. This
|
||||
function is useful when creating an enumeration type based on
|
||||
some non-native integer data type, but it can be used for
|
||||
native types as well.
|
||||
|
||||
<pre>
|
||||
/* Based on a native unsigned short */
|
||||
hid_t hdf_en_colors_1 = H5Tenum_create(H5T_NATIVE_USHORT);
|
||||
|
||||
/* Based on a MIPS 16-bit unsigned integer */
|
||||
hid_t hdf_en_colors_2 = H5Tenum_create(H5T_MIPS_UINT16);
|
||||
|
||||
/* Based on a big-endian 16-bit unsigned integer */
|
||||
hid_t hdf_en_colors_3 = H5Tenum_create(H5T_STD_U16BE);</pre>
|
||||
|
||||
|
||||
<dt><code>herr_t H5Tenum_insert(hid_t <em>etype</em>, const char
|
||||
*<em>symbol</em>, void *<em>value</em>)</code>
|
||||
<dd>Members are inserted into the enumeration data type
|
||||
<em>etype</em> with this function. Each member has a symbolic
|
||||
name <em>symbol</em> and some integer representation
|
||||
<em>value</em>. The <em>value</em> argument must point to a value
|
||||
of the same data type as specified when the enumeration type
|
||||
was created. The order of member insertion is not important
|
||||
but all symbol names and values must be unique within a
|
||||
particular enumeration type.
|
||||
|
||||
<pre>
|
||||
short val;
|
||||
H5Tenum_insert(hdf_en_colors, "RED", (val=0,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "GREEN", (val=1,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "BLUE", (val=2,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "WHITE", (val=3,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "BLACK", (val=4,&val));</pre>
|
||||
|
||||
|
||||
<dt><code>herr_t H5Tlock(hid_t <em>etype</em>)</code>
|
||||
<dd>This function locks a data type so it cannot be modified or
|
||||
freed unless the entire HDF5 library is closed. Its use is
|
||||
completely optional but using it on an application data type
|
||||
makes that data type act like a predefined data type.
|
||||
|
||||
<pre>
|
||||
H5Tlock(hdf_en_colors);</pre>
|
||||
|
||||
</dl>
|
||||
|
||||
<h3>7.3. Integer Operations</h2>
|
||||
|
||||
<p>Because an enumeration data type is derived from an integer
|
||||
data type, any operation which can be performed on integer data
|
||||
types can also be performed on enumeration data types. This
|
||||
includes:
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>H5Topen()</code></td>
|
||||
<td><code>H5Tcreate()</code></td>
|
||||
<td><code>H5Tcopy()</code></td>
|
||||
<td><code>H5Tclose()</code></td>
|
||||
</tr><tr>
|
||||
<td><code>H5Tequal()</code></td>
|
||||
<td><code>H5Tlock()</code></td>
|
||||
<td><code>H5Tcommit()</code></td>
|
||||
<td><code>H5Tcommitted()</code></td>
|
||||
</tr><tr>
|
||||
<td><code>H5Tget_class()</code></td>
|
||||
<td><code>H5Tget_size()</code></td>
|
||||
<td><code>H5Tget_order()</code></td>
|
||||
<td><code>H5Tget_pad()</code></td>
|
||||
</tr><tr>
|
||||
<td><code>H5Tget_precision()</code></td>
|
||||
<td><code>H5Tget_offset()</code></td>
|
||||
<td><code>H5Tget_sign()</code></td>
|
||||
<td><code>H5Tset_size()</code></td>
|
||||
</tr><tr>
|
||||
<td><code>H5Tset_order()</code></td>
|
||||
<td><code>H5Tset_precision()</code></td>
|
||||
<td><code>H5Tset_offset()</code></td>
|
||||
<td><code>H5Tset_pad()</code></td>
|
||||
</tr><tr>
|
||||
<td><code>H5Tset_sign()</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<p>In addition, the new function <code>H5Tget_super()</code> will
|
||||
be defined for all data types that are derived from existing
|
||||
types (currently just enumeration types).
|
||||
|
||||
<dl>
|
||||
<dt><code>hid_t H5Tget_super(hid_t <em>type</em>)</code>
|
||||
<dd>Return the data type from which <em>type</em> is
|
||||
derived. When <em>type</em> is an enumeration data type then
|
||||
the returned value will be an integer data type but not
|
||||
necessarily a native type. One use of this function would be
|
||||
to create a new enumeration type based on the same underlying
|
||||
integer type and values but with possibly different symbols.
|
||||
|
||||
<pre>
|
||||
hid_t itype = H5Tget_super(hdf_en_colors);
|
||||
hid_t hdf_fr_colors = H5Tenum_create(itype);
|
||||
H5Tclose(itype);
|
||||
|
||||
short val;
|
||||
H5Tenum_insert(hdf_fr_colors, "ouge", (val=0,&val));
|
||||
H5Tenum_insert(hdf_fr_colors, "vert", (val=1,&val));
|
||||
H5Tenum_insert(hdf_fr_colors, "bleu", (val=2,&val));
|
||||
H5Tenum_insert(hdf_fr_colors, "blanc", (val=3,&val));
|
||||
H5Tenum_insert(hdf_fr_colors, "noir", (val=4,&val));
|
||||
H5Tlock(hdf_fr_colors);</pre>
|
||||
</dl>
|
||||
|
||||
<h3>7.4. Type Functions</h2>
|
||||
|
||||
<p>A small set of functions is available for querying properties
|
||||
of an enumeration type. These functions are likely to be used
|
||||
by browsers to display data type information.
|
||||
|
||||
<dl>
|
||||
<dt><code>int H5Tget_nmembers(hid_t <em>etype</em>)</code>
|
||||
<dd>When given an enumeration data type <em>etype</em> this
|
||||
function returns the number of members defined for that
|
||||
type. This function is already implemented for compound data
|
||||
types.
|
||||
|
||||
<br><br>
|
||||
<dt><code>char *H5Tget_member_name(hid_t <em>etype</em>, int
|
||||
<em>membno</em>)</code>
|
||||
<dd>Given an enumeration data type <em>etype</em> this function
|
||||
returns the symbol name for the member indexed by
|
||||
<em>membno</em>. Members are numbered from zero to
|
||||
<em>N</em>-1 where <em>N</em> is the return value from
|
||||
<code>H5Tget_nmembers()</code>. The members are stored in no
|
||||
particular order. This function is already implemented for
|
||||
compound data types. If an error occurs then the null pointer
|
||||
is returned. The return value should be freed by calling
|
||||
<code>free()</code>.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Tget_member_value(hid_t <em>etype</em>, int
|
||||
<em>membno</em>, void *<em>value</em>/*out*/)</code>
|
||||
<dd>Given an enumeration data type <em>etype</em> this function
|
||||
returns the value associated with the member indexed by
|
||||
<em>membno</em> (as described for
|
||||
<code>H5Tget_member_name()</code>). The value returned
|
||||
is in the domain of the underlying integer
|
||||
data type which is often a native integer type. The
|
||||
application should ensure that the memory pointed to by
|
||||
<em>value</em> is large enough to contain the result (the size
|
||||
can be obtained by calling <code>H5Tget_size()</code> on
|
||||
either the enumeration type or the underlying integer type
|
||||
when the type is not known by the C compiler.
|
||||
|
||||
<pre>
|
||||
int i, n = H5Tget_nmembers(hdf_en_colors);
|
||||
for (i=0; i<n; i++) {
|
||||
char *symbol = H5Tget_member_name(hdf_en_colors, i);
|
||||
short val;
|
||||
H5Tget_member_value(hdf_en_colors, i, &val);
|
||||
printf("#%d %20s = %d\n", i, symbol, val);
|
||||
free(symbol);
|
||||
}</pre>
|
||||
|
||||
<p>
|
||||
Output:
|
||||
<pre>
|
||||
#0 BLACK = 4
|
||||
#1 BLUE = 2
|
||||
#2 GREEN = 1
|
||||
#3 RED = 0
|
||||
#4 WHITE = 3</pre>
|
||||
</dl>
|
||||
|
||||
<h3>7.5. Data Functions</h2>
|
||||
|
||||
<p>In addition to querying about the enumeration type properties,
|
||||
an application may want to make queries about enumerated
|
||||
data. These functions perform efficient mappings between symbol
|
||||
names and values.
|
||||
|
||||
<dl>
|
||||
<dt><code>herr_t H5Tenum_valueof(hid_t <em>etype</em>, const char
|
||||
*<em>symbol</em>, void *<em>value</em>/*out*/)</code>
|
||||
<dd>Given an enumeration data type <em>etype</em> this function
|
||||
returns through <em>value</em> the bit pattern associated with
|
||||
the symbol name <em>symbol</em>. The <em>value</em> argument
|
||||
should point to memory which is large enough to hold the result,
|
||||
which is returned as the underlying integer data type specified
|
||||
when the enumeration type was created, often a native integer
|
||||
type.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Tenum_nameof(hid_t <em>etype</em>, void
|
||||
*<em>value</em>, char *<em>symbol</em>, size_t
|
||||
<em>size</em>)</code>
|
||||
<dd>This function translates a bit pattern pointed to by
|
||||
<em>value</em> to a symbol name according to the mapping
|
||||
defined in the enumeration data type <em>etype</em> and stores
|
||||
at most <em>size</em> characters of that name (counting the
|
||||
null terminator) to the <em>symbol</em> buffer. If the name is
|
||||
longer than the result buffer then the result is not null
|
||||
terminated and the function returns failure. If <em>value</em>
|
||||
points to a bit pattern which is not in the domain of the
|
||||
enumeration type then the first byte of the <em>symbol</em>
|
||||
buffer is set to zero and the function fails.
|
||||
|
||||
<pre>
|
||||
short data[1000] = {4, 2, 0, 0, 5, 1, ...};
|
||||
int i;
|
||||
char symbol[32];
|
||||
|
||||
for (i=0; i<1000; i++) {
|
||||
if (H5Tenum_nameof(hdf_en_colors, data+i, symbol,
|
||||
sizeof symbol))<0) {
|
||||
if (symbol[0]) {
|
||||
strcpy(symbol+sizeof(symbol)-4, "...");
|
||||
} else {
|
||||
strcpy(symbol, "UNKNOWN");
|
||||
}
|
||||
}
|
||||
printf("%d %s\n", data[i], symbol);
|
||||
}
|
||||
printf("}\n");</pre>
|
||||
|
||||
<p>
|
||||
Output:
|
||||
<pre>
|
||||
|
||||
4 BLACK
|
||||
2 BLUE
|
||||
0 RED
|
||||
0 RED
|
||||
5 UNKNOWN
|
||||
1 GREEN
|
||||
...</pre>
|
||||
</dl>
|
||||
|
||||
<h3>7.6. Conversion</h2>
|
||||
|
||||
<p>Enumerated data can be converted from one type to another
|
||||
provided the destination enumeration type contains all the
|
||||
symbols of the source enumeration type. The conversion operates
|
||||
by matching up the symbol names of the source and destination
|
||||
enumeration types to build a mapping from source value to
|
||||
destination value. For instance, if we are translating from an
|
||||
enumeration type that defines a sequence of integers as the
|
||||
values for the colors to a type that defines a different bit for
|
||||
each color then the mapping might look like this:
|
||||
|
||||
<p><img src="EnumMap.gif" alt="Enumeration Mapping">
|
||||
|
||||
<p>That is, a source value of <code>2</code> which corresponds to
|
||||
<code>BLUE</code> would be mapped to <code>0x0004</code>. The
|
||||
following code snippet builds the second data type, then
|
||||
converts a raw data array from one data type to another, and
|
||||
then prints the result.
|
||||
|
||||
<pre>
|
||||
/* Create a new enumeration type */
|
||||
short val;
|
||||
hid_t bits = H5Tcreate(H5T_ENUM, sizeof val);
|
||||
H5Tenum_insert(bits, "RED", (val=0x0001,&val));
|
||||
H5Tenum_insert(bits, "GREEN", (val=0x0002,&val));
|
||||
H5Tenum_insert(bits, "BLUE", (val=0x0004,&val));
|
||||
H5Tenum_insert(bits, "WHITE", (val=0x0008,&val));
|
||||
H5Tenum_insert(bits, "BLACK", (val=0x0010,&val));
|
||||
|
||||
/* The data */
|
||||
short data[6] = {1, 4, 2, 0, 3, 5};
|
||||
|
||||
/* Convert the data from one type to another */
|
||||
H5Tconvert(hdf_en_colors, bits, 5, data, NULL);
|
||||
|
||||
/* Print the data */
|
||||
for (i=0; i<6; i++) {
|
||||
printf("0x%04x\n", (unsigned)(data[i]));
|
||||
}</pre>
|
||||
|
||||
<p>
|
||||
Output:
|
||||
<pre>
|
||||
|
||||
0x0002
|
||||
0x0010
|
||||
0x0004
|
||||
0x0001
|
||||
0x0008
|
||||
0xffff</pre>
|
||||
|
||||
<p>If the source data stream contains values which are not in the
|
||||
domain of the conversion map then an overflow exception is
|
||||
raised within the library, causing the application defined
|
||||
overflow handler to be invoked (see
|
||||
<code>H5Tset_overflow()</code>). If no overflow handler is
|
||||
defined then all bits of the destination value will be set.
|
||||
|
||||
<p>The HDF library will not provide conversions between enumerated
|
||||
data and integers although the application is free to do so
|
||||
(this is a policy we apply to all classes of HDF data
|
||||
types). However, since enumeration types are derived from
|
||||
integer types it is permissible to treat enumerated data as
|
||||
integers and perform integer conversions in that context.
|
||||
|
||||
<h3>7.7. Symbol Order</h2>
|
||||
|
||||
<p>Symbol order is determined by the integer values associated
|
||||
with each symbol. When the integer data type is a native type,
|
||||
testing the relative order of two symbols is an easy process:
|
||||
simply compare the values of the symbols. If only the symbol
|
||||
names are available then the values must first be determined by
|
||||
calling <code>H5Tenum_valueof()</code>.
|
||||
|
||||
<pre>
|
||||
short val1, val2;
|
||||
H5Tenum_valueof(hdf_en_colors, "WHITE", &val1);
|
||||
H5Tenum_valueof(hdf_en_colors, "BLACK", &val2);
|
||||
if (val1 < val2) ...</pre>
|
||||
|
||||
<p>When the underlying integer data type is not a native type then
|
||||
the easiest way to compare symbols is to first create a similar
|
||||
enumeration type that contains all the same symbols but has a
|
||||
native integer type (HDF type conversion features can be used to
|
||||
convert the non-native values to native values). Once we have a
|
||||
native type we can compare symbol order as just described. If
|
||||
<code>foreign</code> is some non-native enumeration type then a
|
||||
native type can be created as follows:
|
||||
|
||||
<pre>
|
||||
int n = H5Tget_nmembers(foreign);
|
||||
hid_t itype = H5Tget_super(foreign);
|
||||
void *val = malloc(n * MAX(H5Tget_size(itype), sizeof(int)));
|
||||
char *name = malloc(n * sizeof(char*));
|
||||
int i;
|
||||
|
||||
/* Get foreign type information */
|
||||
for (i=0; i<n; i++) {
|
||||
name[i] = H5Tget_member_name(foreign, i);
|
||||
H5Tget_member_value(foreign, i,
|
||||
(char*)val+i*H5Tget_size(foreign));
|
||||
}
|
||||
|
||||
/* Convert integer values to new type */
|
||||
H5Tconvert(itype, H5T_NATIVE_INT, n, val, NULL);
|
||||
|
||||
/* Build a native type */
|
||||
hid_t native = H5Tenum_create(H5T_NATIVE_INT);
|
||||
for (i=0; i<n; i++) {
|
||||
H5Tenum_insert(native, name[i], ((int*)val)[i]);
|
||||
free(name[i]);
|
||||
}
|
||||
free(name);
|
||||
free(val);</pre>
|
||||
|
||||
<p>It is also possible to convert enumerated data to a new type
|
||||
that has a different order defined for the symbols. For
|
||||
instance, we can define a new type, <code>reverse</code> that
|
||||
defines the same five colors but in the reverse order.
|
||||
|
||||
<pre>
|
||||
short val;
|
||||
int i;
|
||||
char sym[8];
|
||||
short data[5] = {0, 1, 2, 3, 4};
|
||||
|
||||
hid_t reverse = H5Tenum_create(H5T_NATIVE_SHORT);
|
||||
H5Tenum_insert(reverse, "BLACK", (val=0,&val));
|
||||
H5Tenum_insert(reverse, "WHITE", (val=1,&val));
|
||||
H5Tenum_insert(reverse, "BLUE", (val=2,&val));
|
||||
H5Tenum_insert(reverse, "GREEN", (val=3,&val));
|
||||
H5Tenum_insert(reverse, "RED", (val=4,&val));
|
||||
|
||||
/* Print data */
|
||||
for (i=0; i<5; i++) {
|
||||
H5Tenum_nameof(hdf_en_colors, data+i, sym, sizeof sym);
|
||||
printf ("%d %s\n", data[i], sym);
|
||||
}
|
||||
|
||||
puts("Converting...");
|
||||
H5Tconvert(hdf_en_colors, reverse, 5, data, NULL);
|
||||
|
||||
/* Print data */
|
||||
for (i=0; i<5; i++) {
|
||||
H5Tenum_nameof(reverse, data+i, sym, sizeof sym);
|
||||
printf ("%d %s\n", data[i], sym);
|
||||
}</pre>
|
||||
|
||||
<p>
|
||||
Output:
|
||||
<pre>
|
||||
0 RED
|
||||
1 GREEN
|
||||
2 BLUE
|
||||
3 WHITE
|
||||
4 BLACK
|
||||
Converting...
|
||||
4 RED
|
||||
3 GREEN
|
||||
2 BLUE
|
||||
1 WHITE
|
||||
0 BLACK</pre>
|
||||
|
||||
<h3>7.8. Equality</h2>
|
||||
|
||||
<p>The order that members are inserted into an enumeration type is
|
||||
unimportant; the important part is the associations between the
|
||||
symbol names and the values. Thus, two enumeration data types
|
||||
will be considered equal if and only if both types have the same
|
||||
symbol/value associations and both have equal underlying integer
|
||||
data types. Type equality is tested with the
|
||||
<code>H5Tequal()</code> function.
|
||||
|
||||
<h3>7.9. Interacting with C's <code>enum</code> Type</h2>
|
||||
|
||||
<p>Although HDF enumeration data types are similar to C
|
||||
<code>enum</code> data types, there are some important
|
||||
differences:
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<table border width="80%">
|
||||
<tr>
|
||||
<th>Difference</th>
|
||||
<th>Motivation/Implications</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>Symbols are unquoted in C but quoted in
|
||||
HDF.</td>
|
||||
<td valign=top>This allows the application to manipulate
|
||||
symbol names in ways that are not possible with C.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>The C compiler automatically replaces all
|
||||
symbols with their integer values but HDF requires
|
||||
explicit calls to do the same.</td>
|
||||
<td valign=top>C resolves symbols at compile time while
|
||||
HDF resolves symbols at run time.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>The mapping from symbols to integers is
|
||||
<em>N</em>:1 in C but 1:1 in HDF.</td>
|
||||
<td valign=top>HDF can translate from value to name
|
||||
uniquely and large <code>switch</code> statements are
|
||||
not necessary to print values in human-readable
|
||||
format.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>A symbol must appear in only one C
|
||||
<code>enum</code> type but may appear in multiple HDF
|
||||
enumeration types.</td>
|
||||
<td valign=top>The translation from symbol to value in HDF
|
||||
requires the data type to be specified while in C the
|
||||
data type is not necessary because it can be inferred
|
||||
from the symbol.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>The underlying integer value is always a
|
||||
native integer in C but can be a foreign integer type in
|
||||
HDF.</td>
|
||||
<td valign=top>This allows HDF to describe data that might
|
||||
reside on a foreign architecture, such as data stored in
|
||||
a file.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top>The sign and size of the underlying integer
|
||||
data type is chosen automatically by the C compiler but
|
||||
must be fully specified with HDF.</td>
|
||||
<td valign=top>Since HDF doesn't require finalization of a
|
||||
data type, complete specification of the type must be
|
||||
supplied before the type is used. Requiring that
|
||||
information at the time of type creation was a design
|
||||
decision to simplify the library.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<p>The examples below use the following C data types:
|
||||
|
||||
<p>
|
||||
<table width="90%" bgcolor="white">
|
||||
<tr>
|
||||
<td>
|
||||
<code><pre>
|
||||
/* English color names */
|
||||
typedef enum {
|
||||
RED,
|
||||
GREEN,
|
||||
BLUE,
|
||||
WHITE,
|
||||
BLACK
|
||||
} c_en_colors;
|
||||
|
||||
/* Spanish color names, reverse order */
|
||||
typedef enum {
|
||||
NEGRO
|
||||
BLANCO,
|
||||
AZUL,
|
||||
VERDE,
|
||||
ROJO,
|
||||
} c_sp_colors;
|
||||
|
||||
/* No enum definition for French names */
|
||||
</pre></code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h4>Creating HDF Types from C Types</h3>
|
||||
|
||||
<p>An HDF enumeration data type can be created from a C
|
||||
<code>enum</code> type simply by passing pointers to the C
|
||||
<code>enum</code> values to <code>H5Tenum_insert()</code>. For
|
||||
instance, to create HDF types for the <code>c_en_colors</code>
|
||||
type shown above:
|
||||
|
||||
<p>
|
||||
<table width="90%" bgcolor="white">
|
||||
<tr>
|
||||
<td>
|
||||
<code><pre>
|
||||
|
||||
c_en_colors val;
|
||||
hid_t hdf_en_colors = H5Tcreate(H5T_ENUM, sizeof(c_en_colors));
|
||||
H5Tenum_insert(hdf_en_colors, "RED", (val=RED, &val));
|
||||
H5Tenum_insert(hdf_en_colors, "GREEN", (val=GREEN,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "BLUE", (val=BLUE, &val));
|
||||
H5Tenum_insert(hdf_en_colors, "WHITE", (val=WHITE,&val));
|
||||
H5Tenum_insert(hdf_en_colors, "BLACK", (val=BLACK,&val));</pre></code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h4>Name Changes between Applications</h3>
|
||||
|
||||
<p>Occassionally two applicatons wish to exchange data but they
|
||||
use different names for the constants they exchange. For
|
||||
instance, an English and a Spanish program may want to
|
||||
communicate color names although they use different symbols in
|
||||
the C <code>enum</code> definitions. The communication is still
|
||||
possible although the applications must agree on common terms
|
||||
for the colors. The following example shows the Spanish code to
|
||||
read the values assuming that the applications have agreed that
|
||||
the color information will be exchanged using Enlish color
|
||||
names:
|
||||
|
||||
<p>
|
||||
<table width="90%" bgcolor="white">
|
||||
<tr>
|
||||
<td>
|
||||
<code><pre>
|
||||
|
||||
c_sp_colors val, data[1000];
|
||||
hid_t hdf_sp_colors = H5Tcreate(H5T_ENUM, sizeof(c_sp_colors));
|
||||
H5Tenum_insert(hdf_sp_colors, "RED", (val=ROJO, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "GREEN", (val=VERDE, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "BLUE", (val=AZUL, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "WHITE", (val=BLANCO, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "BLACK", (val=NEGRO, &val));
|
||||
|
||||
H5Dread(dataset, hdf_sp_colors, H5S_ALL, H5S_ALL, H5P_DEFAULT, data);</pre></code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<h4>Symbol Ordering across Applications</h3>
|
||||
|
||||
<p>Since symbol ordering is completely determined by the integer values
|
||||
assigned to each symbol in the <code>enum</code> definition,
|
||||
ordering of <code>enum</code> symbols cannot be preserved across
|
||||
files like with HDF enumeration types. HDF can convert from one
|
||||
application's integer values to the other's so a symbol in one
|
||||
application's C <code>enum</code> gets mapped to the same symbol
|
||||
in the other application's C <code>enum</code>, but the relative
|
||||
order of the symbols is not preserved.
|
||||
|
||||
<p>For example, an application may be defined to use the
|
||||
definition of <code>c_en_colors</code> defined above where
|
||||
<code>WHITE</code> is less than <code>BLACK</code>, but some
|
||||
other application might define the colors in some other
|
||||
order. If each application defines an HDF enumeration type based
|
||||
on that application's C <code>enum</code> type then HDF will
|
||||
modify the integer values as data is communicated from one
|
||||
application to the other so that a <code>RED</code> value
|
||||
in the first application is also a <code>RED</code> value in the
|
||||
other application.
|
||||
|
||||
<p>A case of this reordering of symbol names was also shown in the
|
||||
previous code snippet (as well as a change of language), where
|
||||
HDF changed the integer values so 0 (<code>RED</code>) in the
|
||||
input file became 4 (<code>ROJO</code>) in the <code>data</code>
|
||||
array. In the input file, <code>WHITE</code> was less than
|
||||
<code>BLACK</code>; in the application the opposite is true.
|
||||
|
||||
<p>In fact, the ability to change the order of symbols is often
|
||||
convenient when the enumeration type is used only to group
|
||||
related symbols that don't have any well defined order
|
||||
relationship.
|
||||
|
||||
<h4>Internationalization</h3>
|
||||
|
||||
<p>The HDF enumeration type conversion features can also be used
|
||||
to provide internationalization of debugging output. A program
|
||||
written with the <code>c_en_colors</code> data type could define
|
||||
a separate HDF data type for languages such as English, Spanish,
|
||||
and French and cast the enumerated value to one of these HDF
|
||||
types to print the result.
|
||||
|
||||
<p>
|
||||
<table width="90%" bgcolor="white">
|
||||
<tr>
|
||||
<td>
|
||||
<code><pre>
|
||||
|
||||
c_en_colors val, *data=...;
|
||||
|
||||
hid_t hdf_sp_colors = H5Tcreate(H5T_ENUM, sizeof val);
|
||||
H5Tenum_insert(hdf_sp_colors, "ROJO", (val=RED, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "VERDE", (val=GREEN, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "AZUL", (val=BLUE, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "BLANCO", (val=WHITE, &val));
|
||||
H5Tenum_insert(hdf_sp_colors, "NEGRO", (val=BLACK, &val));
|
||||
|
||||
hid_t hdf_fr_colors = H5Tcreate(H5T_ENUM, sizeof val);
|
||||
H5Tenum_insert(hdf_fr_colors, "OUGE", (val=RED, &val));
|
||||
H5Tenum_insert(hdf_fr_colors, "VERT", (val=GREEN, &val));
|
||||
H5Tenum_insert(hdf_fr_colors, "BLEU", (val=BLUE, &val));
|
||||
H5Tenum_insert(hdf_fr_colors, "BLANC", (val=WHITE, &val));
|
||||
H5Tenum_insert(hdf_fr_colors, "NOIR", (val=BLACK, &val));
|
||||
|
||||
void
|
||||
nameof(lang_t language, c_en_colors val, char *name, size_t size)
|
||||
{
|
||||
switch (language) {
|
||||
case ENGLISH:
|
||||
H5Tenum_nameof(hdf_en_colors, &val, name, size);
|
||||
break;
|
||||
case SPANISH:
|
||||
H5Tenum_nameof(hdf_sp_colors, &val, name, size);
|
||||
break;
|
||||
case FRENCH:
|
||||
H5Tenum_nameof(hdf_fr_colors, &val, name, size);
|
||||
break;
|
||||
}
|
||||
}</pre></code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>7.10. Goals That Have Been Met</h2>
|
||||
|
||||
<p>The main goal of enumeration types is to provide communication
|
||||
of enumerated data using symbolic equivalence. That is, a
|
||||
symbol written to a dataset by one application should be read as
|
||||
the same symbol by some other application.
|
||||
|
||||
<p>
|
||||
<table width="90%">
|
||||
<tr>
|
||||
<td valign=top><b>Architecture Independence</b></td>
|
||||
<td valign=top>Two applications shall be able to exchange
|
||||
enumerated data even when the underlying integer values
|
||||
have different storage formats. HDF accomplishes this for
|
||||
enumeration types by building them upon integer types.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Preservation of Order Relationship</b></td>
|
||||
<td valign=top>The relative order of symbols shall be
|
||||
preserved between two applications that use equivalent
|
||||
enumeration data types. Unlike numeric values that have
|
||||
an implicit ordering, enumerated data has an explicit
|
||||
order defined by the enumeration data type and HDF
|
||||
records this order in the file.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Order Independence</b></td>
|
||||
<td valign=top>An application shall be able to change the
|
||||
relative ordering of the symbols in an enumeration data
|
||||
type. This is accomplished by defining a new type with
|
||||
different integer values and converting data from one type
|
||||
to the other.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Subsets</b></td>
|
||||
<td valign=top>An application shall be able to read
|
||||
enumerated data from an archived dataset even after the
|
||||
application has defined additional members for the
|
||||
enumeration type. An application shall be able to write
|
||||
to a dataset when the dataset contains a superset of the
|
||||
members defined by the application. Similar rules apply
|
||||
for in-core conversions between enumerated data
|
||||
types.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Targetable</b></td>
|
||||
<td valign=top>An application shall be able to target a
|
||||
particular architecture or application when storing
|
||||
enumerated data. This is accomplished by allowing
|
||||
non-native underlying integer types and converting the
|
||||
native data to non-native data.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Efficient Data Transfer</b></td>
|
||||
<td valign=top>An application that defines a file dataset
|
||||
that corresponds to some native C enumerated data array
|
||||
shall be able to read and write to that dataset directly
|
||||
using only Posix read and write functions. HDF already
|
||||
optimizes this case for integers, so the same optimization
|
||||
will apply to enumerated data.
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top><b>Efficient Storage</b></td>
|
||||
<td valign=top>Enumerated data shall be stored in a manner
|
||||
which is space efficient. HDF stores the enumerated data
|
||||
as integers and allows the application to chose the size
|
||||
and format of those integers.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<p align=right><font size=-1><i>
|
||||
(Return to <a href="Datatypes.html#Datatypes_Enum">Data Types Interface (H5T)</a>.)
|
||||
</font></i>
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<br>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
Data Types
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
<!-- Created: Thu Dec 4 14:57:32 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 30 April 1999
|
||||
<!-- hhmts end -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
Debugging
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -100,7 +83,7 @@ And in this document, the
|
||||
<br><br>
|
||||
<dt><b>Timings and Statistics</b>
|
||||
<dd>The library can be configured to accumulate certain
|
||||
statistics about things like cache performance, data type
|
||||
statistics about things like cache performance, datatype
|
||||
conversion, data space conversion, and data filters. The code
|
||||
is included on a per-package basis and enabled at runtime by
|
||||
an environment variable.
|
||||
@@ -262,7 +245,7 @@ IOT Trap, core dumped.
|
||||
<tr>
|
||||
<td align=center>t</td>
|
||||
<td align=center>Yes</td>
|
||||
<td>Data types</td>
|
||||
<td>Datatypes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center>v</td>
|
||||
@@ -297,7 +280,7 @@ IOT Trap, core dumped.
|
||||
</tr>
|
||||
<tr valign=top>
|
||||
<td><code>all -t -s</code></td>
|
||||
<td>Debugging output for all packages except data types
|
||||
<td>Debugging output for all packages except datatypes
|
||||
and data spaces will appear on the standard error
|
||||
stream.</td>
|
||||
</tr>
|
||||
@@ -467,78 +450,56 @@ H5E.c:336: warning: trace info was not inserted
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
Debugging
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Wed Jun 17 12:29:12 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Thu Aug 20 10:43:42 PDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Wed Jun 17 12:29:12 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<<<<<<< Environment.html
|
||||
|
||||
<head>
|
||||
<title>HDF5 Library Environment Variables and Configuration Parameters</title>
|
||||
<title>Environment Variables and Configuration Parameters</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -12,56 +12,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
Environment
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -120,164 +103,52 @@ will display the current list of parameters and their effects.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
Environment
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
=======
|
||||
<head>
|
||||
<title>HDF5 Library Environment Variables
|
||||
and Configuration Parameters</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>HDF5 Library Environment Variables and Configuration Parameters</h1>
|
||||
|
||||
<h2>1. Environment Variables</h2>
|
||||
|
||||
The HDF5 library uses UNIX environment variables to control
|
||||
or adjust certain library features at runtime. The variables and
|
||||
their defined effects are as follows:
|
||||
|
||||
<center>
|
||||
<table width="90%">
|
||||
<tr>
|
||||
<th>Variable</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><code>HDF5_DEBUG</code></td>
|
||||
<td>Defines a list of debugging switches documented in the
|
||||
<a href="Debugging.html">Debugging</a> section of the
|
||||
<cite>HDF5 User's Guide</cite>.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><code>HDF5_NOCLEANUP</code></td>
|
||||
<td>If set then programs in the test directories do not
|
||||
remove temporary files. The default is for each test to
|
||||
remove the files before exit if the test succeeds but to
|
||||
leave the files if the test fails.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><code>HDF5_PREFIX</code></td>
|
||||
<td>The value of this variable is prepended to all temporary
|
||||
file names created by the test programs and separated from
|
||||
the base name of the file by a slash. The default is no
|
||||
prefix.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><ode>HDF5_DRIVER</code></td>
|
||||
<td>This variable should hold the name of a low-level HDF5
|
||||
file driver such as <code>sec2</code>, <code>stdio</code>,
|
||||
<code>core</code>, <code>split</code>, or
|
||||
<code>family</code>. The family driver also takes an
|
||||
optional real-valued family member size in MB which
|
||||
defaults to 1. If this variable is not set or empty then
|
||||
the library-defined default file driver is used (which can
|
||||
be set at configuration time with the H5F_LOW_DFLT cpp
|
||||
constant, usually <code>sec2</code>).</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><code>HDF5_MPI_OPT_TYPES</code></td>
|
||||
<td>When set to <code>1</code>, parallel HDF5 will use the
|
||||
MPI-optimized code to perform parallel read/write accesses
|
||||
to datasets. Currently, this optimization fails when
|
||||
accessing extendable datasets. The default is not to use
|
||||
the optimized code.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td><code>HDF5_MPI_1_METAWRITE</code></td>
|
||||
<td>When set to <code>1</code>, parallel HDF5 will write the
|
||||
metadata via process 0 of each opened parallel HDF5 file.
|
||||
This should improve I/O throughput. The default is not to
|
||||
use this optimization.</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<h2>2. Configuration Parameters</h2>
|
||||
|
||||
The HDF5 configuration script accepts a list of parameters to control
|
||||
configuration features when creating the Makefiles for the library.
|
||||
The command
|
||||
<br>
|
||||
<code> configure --help </code>
|
||||
<br>
|
||||
will display the current list of parameters and their effects.
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 25 November 1998
|
||||
|
||||
Last modified: 14 October 1999
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Error Handling Interface (H5E)</title>
|
||||
<title>Error Handling Interface (H5E)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
Error Handling
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -80,6 +63,8 @@ And in this document, the
|
||||
next API function which is called (with a few exceptions) resets
|
||||
the stack.
|
||||
|
||||
<h2>2. Error Handling Operations</h2>
|
||||
|
||||
<p>In normal circumstances, an error causes the stack to be
|
||||
printed on the standard error stream. The first item, number
|
||||
"#000" is produced by the API function itself and is usually
|
||||
@@ -93,14 +78,14 @@ And in this document, the
|
||||
<tr>
|
||||
<td>
|
||||
<p>If an application calls <code>H5Tclose</code> on a
|
||||
predefined data type then the following message is
|
||||
predefined datatype then the following message is
|
||||
printed on the standard error stream. This is a
|
||||
simple error that has only one component, the API
|
||||
function; other errors may have many components.
|
||||
|
||||
<p><code><pre>
|
||||
HDF5-DIAG: Error detected in thread 0. Back trace follows.
|
||||
#000: H5T.c line 462 in H5Tclose(): predefined data type
|
||||
#000: H5T.c line 462 in H5Tclose(): predefined datatype
|
||||
major(01): Function argument
|
||||
minor(05): Bad value
|
||||
</code></pre>
|
||||
@@ -248,7 +233,7 @@ H5Eset_auto (my_hdf5_error_handler, NULL);
|
||||
sequence number beginning at zero (regardless of
|
||||
<em>direction</em>), a pointer to an error description record,
|
||||
and the <em>client_data</em> pointer. If <em>direction</em>
|
||||
is <code>H5E_WALK_UPWARD</em> then traversal begins at the
|
||||
is <code>H5E_WALK_UPWARD</code> then traversal begins at the
|
||||
inner-most function that detected the error and concludes with
|
||||
the API function. The opposite order is
|
||||
<code>H5E_WALK_DOWNWARD</code>.
|
||||
@@ -336,78 +321,56 @@ H5Ewalk_cb(int n, H5E_error_t *err_desc, void *client_data)
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
Error Handling
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:hdf5dev@ncsa.uiuc.edu">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Fri Feb 27 23:42:52 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Wed Mar 4 10:06:17 EST 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Fri Feb 27 23:42:52 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
BIN
doc/html/FF-IH_FileGroup.gif
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
doc/html/FF-IH_FileObject.gif
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>HDF5 Files</title>
|
||||
<title>File Interface (H5F)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -10,56 +10,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
Files
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
Files
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -522,7 +505,7 @@ And in this document, the
|
||||
returns a negative value. On successful return,
|
||||
<em>access_properties</em> will point to a copy of the member
|
||||
access property list which should be closed by calling
|
||||
<code>H5Pclose()</em> when the application is finished with
|
||||
<code>H5Pclose()</code> when the application is finished with
|
||||
it. If <em>memb_size</em> is non-null then it will contain
|
||||
the logical size in bytes of each family member. In the
|
||||
future, additional arguments may be added to this function to
|
||||
@@ -573,7 +556,7 @@ And in this document, the
|
||||
returns a negative value. On successful return,
|
||||
<em>meta_properties</em> and <em>raw_properties</em> will
|
||||
point to copies of the meta and raw access property lists
|
||||
which should be closed by calling <code>H5Pclose()</em> when
|
||||
which should be closed by calling <code>H5Pclose()</code> when
|
||||
the application is finished with them, but if the meta and/or
|
||||
raw file has no property list then a negative value is
|
||||
returned for that property list handle. Also, if
|
||||
@@ -593,79 +576,56 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
Files
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
Files
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</a></address>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Tue Jan 27 09:11:27 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Tue Sep 8 14:43:31 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Tue Jan 27 09:11:27 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
Filters
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -324,6 +307,9 @@ And in this document, the
|
||||
permanent output pipeline but was automatically excluded because
|
||||
it didn't exist when the data was written.
|
||||
|
||||
<p><code>zlib</code> can be acquired from
|
||||
<code><a href="http://www.cdrom.com/pub/infozip/zlib/">http://www.cdrom.com/pub/infozip/zlib/</a></code>.
|
||||
|
||||
<h2>5. Example</h2>
|
||||
|
||||
<p>This example shows how to define and register a simple filter
|
||||
@@ -526,76 +512,56 @@ H5Z: filter statistics accumulated over life of library:
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
Filters
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Fri Apr 17 13:39:35 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Jan 18 13:32:14 EST 1999
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Fri Apr 17 13:39:35 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 17 December 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -6,18 +6,19 @@ HDF5 Glossary
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
||||
<a href="RM_H5.html">H5</a>
|
||||
<a href="RM_H5A.html">H5A</a>
|
||||
<a href="RM_H5D.html">H5D</a>
|
||||
<a href="RM_H5E.html">H5E</a>
|
||||
<a href="RM_H5F.html">H5F</a>
|
||||
<a href="RM_H5G.html">H5G</a>
|
||||
<a href="RM_H5P.html">H5P</a>
|
||||
<a href="RM_H5S.html">H5S</a>
|
||||
<a href="RM_H5T.html">H5T</a>
|
||||
<a href="RM_H5Z.html">H5Z</a>
|
||||
Glossary
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a>
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
@@ -25,85 +26,524 @@ Glossary
|
||||
<h1>HDF5 Glossary</h1>
|
||||
</center>
|
||||
|
||||
<i>(<b>Under construction!</b>
|
||||
This is the bare beginning of a Glossary to accompany the HDF5
|
||||
documentation; it is by no means complete.)</i>
|
||||
|
||||
<ul>
|
||||
<li><a href="#Glossary-Basic">basic data types</a>
|
||||
<li><a href="#Glossary-Complex">complex data types</a>
|
||||
<li>data types
|
||||
<ul>
|
||||
<li><a href="#Glossary-Basic">basic data types</a>
|
||||
<li><a href="#Glossary-Complex">complex data types</a>
|
||||
<li><a href="#Glossary-DiskIO">disk I/O data types</a>
|
||||
</ul>
|
||||
<li><a href="#Glossary-DiskIO">disk I/O data types</a>
|
||||
</ul>
|
||||
|
||||
<center>
|
||||
<table width=90% border=0>
|
||||
<tr><td valign=top align=left width=33%>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-AtomicDType">atomic datatype</a>
|
||||
<dt><a href="#Glossary-Attribute">attribute</a>
|
||||
<!--<dt><a href="#Glossary-BasicDType">basic datatype</a>-->
|
||||
<dt><a href="#Glossary-LayoutChunked">chunked layout</a>
|
||||
<dt><a href="#Glossary-Chunking">chunking</a>
|
||||
<!--<dt><a href="#Glossary-ComplexDType">complex datatype</a>-->
|
||||
<dt><a href="#Glossary-CompoundDType">compound datatype</a>
|
||||
<!--<dt>compound element-->
|
||||
<dt><a href="#Glossary-LayoutContig">contiguous layout</a>
|
||||
<!--<dt>conversion function-->
|
||||
<dt><a href="#Glossary-Dataset">dataset</a>
|
||||
<dt><a href="#Glossary-Dataspace">dataspace</a>
|
||||
<!--<dl>-->
|
||||
<!-- <dt>dimensions-->
|
||||
<!-- <dt>selection-->
|
||||
<!--</dl>-->
|
||||
<dt><a href="#Glossary-Datatype">datatype</a>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-AtomicDType">atomic</a>
|
||||
<!-- <dt><a href="#Glossary-BasicDType">basic</a>-->
|
||||
<!-- <dt><a href="#Glossary-ComplexDType">complex</a>-->
|
||||
<dt><a href="#Glossary-CompoundDType">compound</a>
|
||||
<!-- <dt>conversion function-->
|
||||
<!-- <dt><a href="#Glossary-DiskIO">disk I/O</a>-->
|
||||
<dt><a href="#Glossary-DTypeEnum">enumeration</a>
|
||||
<dt><a href="#Glossary-DTypeNamed">named</a>
|
||||
<dt><a href="#Glossary-DTypeOpaque">opaque</a>
|
||||
<!-- <dt>transient-->
|
||||
<dt><a href="#Glossary-DTypeVLen">variable-length</a>
|
||||
</dl>
|
||||
<!--<dt>DDL-->
|
||||
<!--<dt>dimensions-->
|
||||
<!--<dt><a href="#Glossary-DiskIO">disk I/O datatype</a>-->
|
||||
<!--<dt>element-->
|
||||
<dt><a href="#Glossary-DTypeEnum">enumeration datatype</a>
|
||||
<dt><a href="#Glossary-File">file</a>
|
||||
<dl>
|
||||
<!-- <dt>compound element-->
|
||||
<!-- <dt>element-->
|
||||
<dt><a href="#Glossary-Group">group</a>
|
||||
<dt><a href="#Glossary-Path">path</a>
|
||||
<dt><a href="#Glossary-RootGroup">root group</a>
|
||||
<dt><a href="#Glossary-SuperBlock">super block</a>
|
||||
</dl>
|
||||
</dl>
|
||||
</td>
|
||||
<td valign=top align=left width=34%>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-FileAccessMode">file access mode</a>
|
||||
<dt><a href="#Glossary-Group">group</a>
|
||||
<dl>
|
||||
<!-- <dt>element-->
|
||||
<dt><a href="#Glossary-GroupMember">member</a>
|
||||
<dt><a href="#Glossary-RootGroup">root group</a>
|
||||
</dl>
|
||||
<dt><a href="#Glossary-LinkHard">hard link</a>
|
||||
<!--<dt>HDF5-->
|
||||
<dt><a href="#Glossary-Hyperslab">hyperslab</a>
|
||||
<dt><a href="#Glossary-Identifier">identifier</a>
|
||||
<dt><a href="#Glossary-Link">link</a>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-LinkHard">hard</a>
|
||||
<dt><a href="#Glossary-LinkSoft">soft</a>
|
||||
<!-- <dt><a href="#Glossary-LinkSoftName">soft link name</a>-->
|
||||
<!-- <dt>target-->
|
||||
</dl>
|
||||
<dt><a href="#Glossary-GroupMember">member</a>
|
||||
<dt><a href="#Glossary-Name">name</a>
|
||||
<dt><a href="#Glossary-DTypeNamed">named datatype</a>
|
||||
<dt><a href="#Glossary-DTypeOpaque">opaque datatype</a>
|
||||
<dt><a href="#Glossary-Path">path</a>
|
||||
<!--<dt>parallel I/O-->
|
||||
<dt><a href="#Glossary-PList">property list</a>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-PListDataTransfer">data transfer</a>
|
||||
<dt><a href="#Glossary-PListDSetAccess">dataset access</a>
|
||||
<dt><a href="#Glossary-PListDSetCreate">dataset creation</a>
|
||||
<dt><a href="#Glossary-PListFileAccess">file access</a>
|
||||
<dt><a href="#Glossary-PListFileCreate">file creation</a>
|
||||
</dl>
|
||||
</dl>
|
||||
</td>
|
||||
<td valign=top align=left width=33%>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-RootGroup">root group</a>
|
||||
<dt><a href="#Glossary-Selection">selection</a>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-Hyperslab">hyperslab</a>
|
||||
<!-- <dt>point-->
|
||||
</dl>
|
||||
<dt><a href="#Glossary-Serialization">serialization</a>
|
||||
<dt><a href="#Glossary-LinkSoft">soft link</a>
|
||||
<!--<dt><a href="#Glossary-LinkSoftName">soft link name</a>-->
|
||||
<dt><a href="#Glossary-StorageLayout">storage layout</a>
|
||||
<dl>
|
||||
<dt><a href="#Glossary-LayoutChunked">chunked</a>
|
||||
<dt><a href="#Glossary-Chunking">chunking</a>
|
||||
<dt><a href="#Glossary-LayoutContig">contiguous</a>
|
||||
</dl>
|
||||
<dt><a href="#Glossary-SuperBlock">super block</a>
|
||||
<!--<dt>target-->
|
||||
<!--<dt>threadsafe-->
|
||||
<!--<dt>transient datatype-->
|
||||
<dt><a href="#Glossary-DTypeVLen">variable-length datatype</a>
|
||||
</dl>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="Glossary-Basic">basic data types:</a>
|
||||
<ul>
|
||||
<li><em>(Some data types may change substantially en route to
|
||||
Release 1.0.)</em>
|
||||
<li>char - 8-bit character (only for ASCII information)
|
||||
<li>int8 - 8-bit signed integer
|
||||
<li>uint8 - 8-bit unsigned integer
|
||||
<li>int16 - 16-bit signed integer
|
||||
<li>uint16 - 16-bit unsigned integer
|
||||
<li>int32 - 32-bit signed integer
|
||||
<li>uint32 - 32-bit unsigned integer
|
||||
<li>intn - "native" signed integer
|
||||
<li>uintn - "native" unsigned integer
|
||||
<li>int64 - 64-bit signed integer (new)
|
||||
<li>uint64 - 64-bit unsigned integer (new)
|
||||
<li>float32 - 32-bit IEEE float
|
||||
<li>float64 - 64-bit IEEE float
|
||||
</ul>
|
||||
|
||||
<a name="Glossary-Complex">Complex data types:</a>
|
||||
<ul>
|
||||
<li><em>(Some data types may change substantially en route to
|
||||
Release 1.0.)</em>
|
||||
<li>hid_t - 32-bit unsigned integer used as ID for memory objects
|
||||
<li>hoid_t - 32-bit unsigned integer (currently) used as ID for disk-based
|
||||
objects
|
||||
<li>hbool_t - boolean to indicate true/false/error codes from functions
|
||||
<li>herr_t - 32-bit integer to indicate succeed/fail codes from functions
|
||||
</ul>
|
||||
<DL>
|
||||
|
||||
<a name="Glossary-DiskIO">disk I/O data types:</a>
|
||||
<dt><strong><a name="Glossary-AtomicDType">atomic datatype</a></strong>
|
||||
<dd>A datatype which cannot be decomposed into smaller units at the
|
||||
API level.
|
||||
<P>
|
||||
|
||||
<DT><a name="Glossary-Attribute"><B>attribute</B></a>
|
||||
<DD>A small dataset that can be used to describe the nature and/or
|
||||
the intended usage of the object it is attached to.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<dt><strong><a name="Glossary-Basic">basic datatypes</a></strong>
|
||||
<ul>
|
||||
<li>char - 8-bit character (only for ASCII information)
|
||||
<li>int8 - 8-bit signed integer
|
||||
<li>uint8 - 8-bit unsigned integer
|
||||
<li>int16 - 16-bit signed integer
|
||||
<li>uint16 - 16-bit unsigned integer
|
||||
<li>int32 - 32-bit signed integer
|
||||
<li>uint32 - 32-bit unsigned integer
|
||||
<li>intn - "native" signed integer
|
||||
<li>uintn - "native" unsigned integer
|
||||
<li>int64 - 64-bit signed integer (new)
|
||||
<li>uint64 - 64-bit unsigned integer (new)
|
||||
<li>float32 - 32-bit IEEE float
|
||||
<li>float64 - 64-bit IEEE float
|
||||
</ul>
|
||||
<P>
|
||||
-->
|
||||
|
||||
<dt><strong><a name="Glossary-LayoutChunked">chunked layout</a></strong>
|
||||
<dd>The storage layout of a chunked dataset.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-Chunking">chunking</a></strong>
|
||||
<dd>A storage layout where a dataset is partitioned into fixed-size
|
||||
multi-dimensional chunks. Chunking tends to improve performance
|
||||
and facilitates dataset extensibility.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-CompoundDType">compound datatype</a></strong>
|
||||
<dd>A collection of one or more atomic types or small arrays of such types.
|
||||
Similar to a struct in C or a common block in Fortran.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<dt><strong><a name="Glossary-ComplexDType">complex datatype</a></strong>
|
||||
<dd>A collection of one or more atomic types or small arrays of such types.
|
||||
<ul>
|
||||
<li>hid_t - 32-bit unsigned integer used as ID for memory objects
|
||||
<li>hoid_t - 32-bit unsigned integer (currently) used as ID for
|
||||
disk-based objects
|
||||
<li>hbool_t - boolean to indicate true/false/error codes from functions
|
||||
<li>herr_t - 32-bit integer to indicate succeed/fail codes from
|
||||
functions
|
||||
</ul>
|
||||
<P>
|
||||
-->
|
||||
|
||||
<dt><strong><a name="Glossary-LayoutContig">contiguous layout</a></strong>
|
||||
<dd>The storage layout of a dataset that is not chunked, so that the entire
|
||||
data portion of the dataset is stored in a single contiguous block.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-PListDataTransfer">data transfer property list</B></a>
|
||||
<DD>The data transfer property list is used to control various aspects
|
||||
of the I/O, such as caching hints or collective I/O information.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-Dataset">dataset</B></a>
|
||||
<DD>A multi-dimensional array of data elements, together with
|
||||
supporting metadata.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-PListDSetAccess">dataset access property list</B></a>
|
||||
<DD>A property list containing information on how a dataset is to be accessed.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-PListDSetCreate">dataset creation property list</B></a>
|
||||
<DD>A property list containing information on how
|
||||
raw data is organized on disk and how the raw data is compressed.
|
||||
<!--
|
||||
The dataset API partitions these terms by layout, compression,
|
||||
and external storage:
|
||||
<UL>
|
||||
<B> Layout:</B>
|
||||
<UL>
|
||||
<LI>H5D_COMPACT: Data is small and can be stored in object header (not
|
||||
implemented yet). This eliminates disk seek/read requests.
|
||||
<LI>H5D_CONTIGUOUS: (<B>default</B>) The data is large, non-extendible,
|
||||
non-compressible, non-sparse, and can be stored externally.
|
||||
<LI>H5D_CHUNKED: The data is large and can be extended in any dimension.
|
||||
It is partitioned into chunks so each chunk is the same logical size.
|
||||
</UL>
|
||||
<B>Compression:</B> (gzip compression)<BR>
|
||||
<B>External Storage Properties:</B> The data must be contiguous to be
|
||||
stored externally. It allows you to store
|
||||
the data in one or more non-HDF5 files.
|
||||
</UL>
|
||||
-->
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-Dataspace">dataspace</B></a>
|
||||
<DD>An object that describes the dimensionality of the data array.
|
||||
A dataspace is either a regular N-dimensional array of data points,
|
||||
called a simple dataspace, or a more general collection of data points
|
||||
organized in another manner, called a complex dataspace.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-Datatype">datatype</B></a>
|
||||
<DD>An object that describes the storage format of the individual data
|
||||
points of a data set.
|
||||
There are two categories of datatypes: atomic and compound datatypes.
|
||||
An atomic type is a type which cannot be decomposed into smaller
|
||||
units at the API level. A compound datatype is a collection of one or
|
||||
more atomic types or small arrays of such types.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<DT><B>DDL</B>
|
||||
<DD>A detailed description of the HDF5 format and objects, written in a
|
||||
Data Description Language using Backus-Naur Form.
|
||||
<P>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<dt><strong><a name="Glossary-DiskIO">disk I/O datatypes</a></strong>
|
||||
<ul>
|
||||
<li><em>(Some data types may change substantially en route to
|
||||
Release 1.0.)</em>
|
||||
<li>hoff_t - (64-bit?) offset on disk in bytes
|
||||
<li>hlen_t - (64-bit?) length on disk in bytes
|
||||
</ul>
|
||||
<P>
|
||||
-->
|
||||
|
||||
<dt><strong><a name="Glossary-DTypeEnum">enumeration datatype</a></strong>
|
||||
<dd>A one-to-one mapping between a set of symbols and a set of
|
||||
integer values, and an order is imposed on the symbols by their
|
||||
integer values. The symbols are passed between the application
|
||||
and library as character strings and all the values for a
|
||||
particular enumeration datatype are of the same integer type,
|
||||
which is not necessarily a native type.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-File">file</B></a>
|
||||
<DD>A container for storing grouped collections of
|
||||
multi-dimensional arrays containing scientific data.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-FileAccessMode">file access mode</B></a>
|
||||
<DD>Determines whether an existing file will be overwritten,
|
||||
opened for read-only access, or opened for read/write access.
|
||||
All newly created files are opened for both reading and
|
||||
writing.
|
||||
<!--
|
||||
Possible values are:
|
||||
<PRE>
|
||||
H5F_ACC_RDWR: Allow read and write access to file.
|
||||
H5F_ACC_RDONLY: Allow read-only access to file.
|
||||
H5F_ACC_TRUNC: Truncate file, if it already exists, erasing all data
|
||||
previously stored in the file.
|
||||
H5F_ACC_EXCL: Fail if file already exists.
|
||||
H5F_ACC_DEBUG: Print debug information.
|
||||
H5P_DEFAULT: Apply default file access and creation properties.
|
||||
</PRE>
|
||||
-->
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-PListFileAccess">file access property list</B></a>
|
||||
<DD>File access property lists are used to control different methods
|
||||
of performing I/O on files:
|
||||
<!--
|
||||
<UL>
|
||||
<B>Unbuffered I/O:</B> Local permanent files can be accessed with the
|
||||
functions described in Section 2 of the Posix manual, namely open(),
|
||||
lseek(), read(), write(), and close(). <BR>
|
||||
<B>Buffered I/O:</B> Local permanent files can be accessed with the
|
||||
functions declared in the stdio.h header file, namely fopen(),
|
||||
fseek(), fread(), fwrite(), and fclose().<BR>
|
||||
<B>Memory I/O:</B> Local temporary files can be created and accessed
|
||||
directly from memory without ever creating permanent storage.
|
||||
The library uses malloc() and free() to create storage space for the
|
||||
file<BR>
|
||||
<B>Parallel Files using MPI I/O:</B> This driver allows parallel access
|
||||
to a file through the MPI I/O library. The parameters which can be
|
||||
modified are the MPI communicator, the info object, and the access mode.
|
||||
The communicator and info object are saved and then passed to
|
||||
MPI_File_open() during file creation or open. The access_mode
|
||||
controls the kind of parallel access the application intends.<BR>
|
||||
<B>Data Alignment:</B> Sometimes file access is faster if certain things
|
||||
are aligned on file blocks. This can be controlled by setting alignment
|
||||
properties of a file access property list with the H5Pset_alignment()
|
||||
function.
|
||||
</UL>
|
||||
-->
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-PListFileCreate">file creation property list</B></a>
|
||||
<DD>The property list used to control file metadata.
|
||||
<!--
|
||||
The parameters that can be modified are:
|
||||
<UL>
|
||||
<B>User-Block Size:</B> The "user-block" is a fixed length block
|
||||
of data located at the beginning of the file which is ignored
|
||||
by the HDF5 library and may be used to store any data information
|
||||
found to be useful to applications.
|
||||
<BR>
|
||||
<B>Offset and Length Sizes:</B> The number of bytes used to store the
|
||||
offset and length of objects in the HDF5 file can be controlled
|
||||
with this parameter.
|
||||
<BR>
|
||||
<b>Symbol Table Parameters:</b> The size of symbol table B-trees can
|
||||
be controlled by setting the 1/2 rank and 1/2 node size
|
||||
parameters of the B-tree.
|
||||
<BR>
|
||||
<B>Indexed Storage Parameters:</B> The size of indexed storage
|
||||
B-trees can be controlled by setting the 1/2 rank and 1/2 node
|
||||
size parameters of the B-tree.
|
||||
</UL>
|
||||
-->
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-Group">group</B></a>
|
||||
<DD>A structure containing zero or more HDF5 objects,
|
||||
together with supporting metadata.
|
||||
The two primary HDF5 objects are datasets and groups.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-LinkHard">hard link</a></strong>
|
||||
<dd>A direct association between a name and the object where both exist
|
||||
in a single HDF5 address space.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<DT><B>HDF5</B>
|
||||
<DD>HDF5 is an abbreviation for Hierarchical Data Format Version 5.
|
||||
This file format is intended to make it easy to write and read
|
||||
scientific data
|
||||
<P>
|
||||
<UL>
|
||||
<LI>by including the information needed to understand the data
|
||||
within the file
|
||||
<P>
|
||||
<LI>by providing a library of C, FORTRAN, and other language
|
||||
programs that reduce the work required to provide efficient
|
||||
writing and reading - even with parallel IO
|
||||
</UL>
|
||||
<P>
|
||||
-->
|
||||
|
||||
<DT><B><a name="Glossary-Hyperslab">hyperslab</B></a>
|
||||
<DD>A portion of a dataset. A hyperslab selection can be a
|
||||
logically contiguous collection of points in a dataspace or
|
||||
a regular pattern of points or blocks in a dataspace.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-Identifier">identifier</a></strong>
|
||||
<dd>A unique entity provided by the HDF5 library and used to access
|
||||
an HDF5 object, such as a file, goup, dataset, datatype, etc.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-Link">link</a></strong>
|
||||
<dd>An association between a name and the object in an HDF5 file group.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-GroupMember">member</a></strong>
|
||||
<dd>A group or dataset that is in another dataset, <i>dataset A</i>,
|
||||
is a member of <i>dataset A</i>.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-Name">name</B></a>
|
||||
<DD>A slash-separated list of components that uniquely identifies an
|
||||
element of an HDF5 file. A name begins that begins with a slash
|
||||
is an absolute name which is accessed beginning with the root group
|
||||
of the file; all other names are relative names and the associated
|
||||
objects are accessed beginning with the current or specified group.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-DTypeNamed">named datatype</a></strong>
|
||||
<dd>A datatype that is named and stored in a file. Naming is permanent;
|
||||
a datatype cannot be changed after being named.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-DTypeOpaque">opaque datatype</a></strong>
|
||||
<dd>A mechanism for describing data which cannot be otherwise described
|
||||
by HDF5. The only properties associated with opaque types are a
|
||||
size in bytes and an ASCII tag.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<DT><B>parallel I/O HDF5</B>
|
||||
<DD>The parallel I/O version of HDF5 supports parallel file access using
|
||||
MPI (Message Passing Interface).
|
||||
<P>
|
||||
-->
|
||||
|
||||
<dt><strong><a name="Glossary-Path">path</a></strong>
|
||||
<dd>The slash-separated list of components that forms the name
|
||||
uniquely identifying an element of an HDF5 file.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-PList">property list</a></strong>
|
||||
<dd>A collection of name/value pairs that can be passed to other
|
||||
HDF5 functions to control features that are typically unimportant
|
||||
or whose default values are usually used.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-RootGroup">root group</a></strong>
|
||||
<dd>The group that is the entry point to the group graph in an HDF5 file.
|
||||
Every HDF5 file has exactly one root group.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-Selection">selection</a></strong>
|
||||
<dd>(1) A subset of a dataset or a dataspace, up to the entire dataset or
|
||||
dataspace.
|
||||
(2) The elements of an array or dataset that are marked for I/O.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-Serialization">serialization</a></strong>
|
||||
<dd>The flattening of an <em>N</em>-dimensional data object into a
|
||||
1-dimensional object so that, for example, the data object can be
|
||||
transmitted over the network as a 1-dimensional bitstream.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-LinkSoft">soft link</a></strong>
|
||||
<dd>An indirect association between a name and an object in an
|
||||
HDF5 file group.
|
||||
<P>
|
||||
|
||||
<dt><strong><a name="Glossary-StorageLayout">storage layout</a></strong>
|
||||
<dd>The manner in which a dataset is stored, either contiguous or
|
||||
chunked, in the HDF5 file.
|
||||
<P>
|
||||
|
||||
<DT><B><a name="Glossary-SuperBlock">super block</B></a>
|
||||
<DD>A block of data containing the information required to portably access
|
||||
HDF5 files on multiple platforms, followed by information about the groups
|
||||
and datasets in the file.
|
||||
The super block contains information about the size of offsets,
|
||||
lengths of objects, the number of entries in group tables,
|
||||
and additional version information for the file.
|
||||
<P>
|
||||
|
||||
<!--
|
||||
<DT><B>threadsafe</B>
|
||||
<DD>A "thread-safe" version of HDF-5 (TSHDF5) is one that can be called
|
||||
from any thread of a multi-threaded program. Any calls to HDF
|
||||
can be made in any order, and each individual HDF call will perform
|
||||
correctly. A calling program does not have to explicitly lock the HDF
|
||||
library in order to do I/O. Applications programmers may assume that
|
||||
the TSHDF5 guarantees the following:
|
||||
<UL>
|
||||
<LI>the HDF-5 library does not create or destroy threads.
|
||||
<LI>the HDF-5 library uses modest amounts of per-thread
|
||||
private memory.
|
||||
<LI>the HDF-5 library only locks/unlocks it's own locks (no locks
|
||||
are passed in or returned from HDF), and the internal locking
|
||||
is guaranteed to be deadlock free.
|
||||
</UL>
|
||||
<P>
|
||||
These properties mean that the TSHDF5 library will not interfere
|
||||
with an application's use of threads. A TSHDF5 library is the same
|
||||
library as regular HDF-5 library, with additional code to synchronize
|
||||
access to the HDF-5 library's internal data structures.
|
||||
<P>
|
||||
-->
|
||||
|
||||
<dt><strong><a name="Glossary-DTypeVLen">variable-length datatype</a></strong>
|
||||
<dd>A sequence of an existing datatype (atomic, variable-length (VL),
|
||||
or compound) which are not fixed in length from one dataset location
|
||||
to another.
|
||||
<P>
|
||||
|
||||
</DL>
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
||||
<a href="RM_H5.html">H5</a>
|
||||
<a href="RM_H5A.html">H5A</a>
|
||||
<a href="RM_H5D.html">H5D</a>
|
||||
<a href="RM_H5E.html">H5E</a>
|
||||
<a href="RM_H5F.html">H5F</a>
|
||||
<a href="RM_H5G.html">H5G</a>
|
||||
<a href="RM_H5P.html">H5P</a>
|
||||
<a href="RM_H5S.html">H5S</a>
|
||||
<a href="RM_H5T.html">H5T</a>
|
||||
<a href="RM_H5Z.html">H5Z</a>
|
||||
Glossary
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a>
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
|
||||
Last modified: 18 October 1999
|
||||
<br>
|
||||
Last modified: 14 July 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Groups</title>
|
||||
<title>Group Interface (H5G)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
Groups
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -323,78 +306,56 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
Groups
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Tue Jan 27 09:11:27 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Wed Jul 22 14:24:34 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Tue Jan 27 09:11:27 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -55,9 +55,7 @@ with a single print command as follows:
|
||||
</td><td></td><td valign=top>A guide to the <strong>H5D</strong>
|
||||
interface.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="Datatypes.html" target="PrintWin">Data Types</a> and
|
||||
<br>
|
||||
<a href="DatatypesEnum.html" target="PrintWin">Enumeration Data Types</a>
|
||||
<tr><td valign=top><a href="Datatypes.html" target="PrintWin">Datatypes</a>
|
||||
</td><td></td><td valign=top>A guide to the <strong>H5T</strong>
|
||||
interface.
|
||||
</td></tr>
|
||||
@@ -97,6 +95,10 @@ with a single print command as follows:
|
||||
</td><td></td><td valign=top>A guide to the issues and pitfalls
|
||||
of dataset chunking.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="MountingFiles.html" target="PrintWin">Mounting Files</a>
|
||||
</td><td></td><td valign=top>A guide to mounting files containing
|
||||
external HDF5 datasets.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="Debugging.html" target="PrintWin">Debugging</a>
|
||||
</td><td></td><td valign=top>A guide to debugging HDF5 API calls.
|
||||
</td></tr>
|
||||
@@ -127,7 +129,7 @@ with a single print command as follows:
|
||||
<tr><td align=left valign=top>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<br>
|
||||
Last modified: 1 June 1999
|
||||
Last modified: 22 July 1999
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<center>
|
||||
|
||||
<font size=7>
|
||||
A User's Guide for HDF5
|
||||
HDF5 User's Guide
|
||||
</font>
|
||||
|
||||
<br><br><br>
|
||||
@@ -24,9 +24,9 @@ A User's Guide for HDF5
|
||||
<br><br><br>
|
||||
|
||||
<font size=6>
|
||||
Release 1.0
|
||||
Release 1.2
|
||||
<br>
|
||||
January 1999
|
||||
October 1999
|
||||
</font>
|
||||
|
||||
<br><br><br><br>
|
||||
@@ -51,21 +51,25 @@ University of Illinois at Urbana-Champaign (UIUC)
|
||||
<strong>A Note to the Reader:</strong>
|
||||
The primary HDF5 user documents are the online HTML documents
|
||||
distributed with the HDF5 code and binaries and found on the HDF5 website.
|
||||
Several users have expressed a desire for documents in an alternative format:
|
||||
These PDF and PostScript versions are generated from the HTML to provide
|
||||
the following capabilites:
|
||||
<ul>
|
||||
<li>Some have requested a version that can be reasonably printed in a
|
||||
<li>To provide a version that can be reasonably printed in a
|
||||
single print operation.
|
||||
<li>Others have requested an easily searchable version.
|
||||
<li>To provide an easily searchable version.
|
||||
</ul>
|
||||
This PDF file has been created expressly to meet these needs.
|
||||
<p>
|
||||
The reader will note that each section of this document looks very much
|
||||
as the corresponding HTML page would look in a web browser. That is not
|
||||
accidental as the HTML version remains the HDF5 development team's primary
|
||||
documentation vehicle.
|
||||
In this package, you will find four PDF and PostScript documents:
|
||||
<ul>
|
||||
<li><cite>Introduction to HDF5</cite>
|
||||
<li><cite>A User's Guide for HDF5</cite>
|
||||
<li><cite>HDF5 Reference Manual</cite>
|
||||
<li>All three of the above documents concatenated into a single file
|
||||
</ul>
|
||||
Note that these versions were created in response to user feedback;
|
||||
the HDF Group is eager to hear from you so as to improve the delivered
|
||||
product.
|
||||
</blockquote>
|
||||
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
|
||||
|
||||
@@ -12,60 +12,17 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
And in this document, the
|
||||
HDF5 User's Guide:
|
||||
<a href="Files.html">Files</a>
|
||||
<br>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
-->
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -74,13 +31,18 @@ And in this document, the
|
||||
|
||||
<center><h1>A User's Guide for HDF5</h1></center>
|
||||
|
||||
<p>The following documents form a loosely organized user's guide
|
||||
to the HDF5 library.
|
||||
|
||||
<center>
|
||||
<table border=0>
|
||||
<table border=0 width=80%>
|
||||
|
||||
<tr><td valign=top><a href="Files.html">HDF5 Files</a>
|
||||
<tr><td valign=top colspan=3>
|
||||
The following documents form a loosely organized user's guide
|
||||
to the HDF5 library.
|
||||
<br>
|
||||
<br>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top width=35%><a href="Files.html">HDF5 Files</a>
|
||||
</td><td> </td>
|
||||
<td valign=top>A guide to the <strong>H5F</strong> interface.
|
||||
</td></tr>
|
||||
@@ -88,7 +50,7 @@ And in this document, the
|
||||
</td><td></td><td valign=top>A guide to the <strong>H5D</strong>
|
||||
interface.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="Datatypes.html">Data Types</a>
|
||||
<tr><td valign=top><a href="Datatypes.html">Datatypes</a>
|
||||
</td><td></td><td valign=top>A guide to the <strong>H5T</strong>
|
||||
interface.
|
||||
</td></tr>
|
||||
@@ -128,6 +90,14 @@ And in this document, the
|
||||
</td><td></td><td valign=top>A guide to the issues and pitfalls
|
||||
of dataset chunking.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="MountingFiles.html">Mounting Files</a>
|
||||
</td><td></td><td valign=top>A guide to mounting files containing
|
||||
external HDF5 <br> datasets.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="Performance.html">Performance</a>
|
||||
</td><td></td><td valign=top>A guide to performance issues and
|
||||
analysis tools.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="Debugging.html">Debugging</a>
|
||||
</td><td></td><td valign=top>A guide to debugging HDF5 API calls.
|
||||
</td></tr>
|
||||
@@ -136,121 +106,66 @@ And in this document, the
|
||||
<br> <a href="Environment.html">Configuration
|
||||
Parameters</a>
|
||||
</td><td></td><td valign=top>A list of HDF5 environment variables
|
||||
and <br> configuration parameters.
|
||||
and configuration <br> parameters.
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="ddl.html">DDL for HDF5</a>
|
||||
</td><td></td><td valign=top>A DDL in BNF for HDF5.
|
||||
</td></tr>
|
||||
<tr><td valign=top><hr noshade size=1><a href="Ragged.html">Ragged Arrays</a>
|
||||
</td><td></td><td valign=top><hr noshade size=1>A guide to the
|
||||
<tr><td valign=bottom><hr noshade size=1><a href="Ragged.html">Ragged Arrays</a>
|
||||
</td><td></td><td valign=bottom>A guide to the
|
||||
<strong>H5RA</strong> interface.
|
||||
<em><font color=red>(Experimental)</font></em>
|
||||
|
||||
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<br>
|
||||
|
||||
<!--
|
||||
<p>The following documents form a loosely organized developer's guide to
|
||||
aspects of the HDF5 library. (Some of the following documents
|
||||
may be rather out of date as they were working papers for design
|
||||
goals.)
|
||||
<tr><td valign=top colspan=3>
|
||||
<a name="AppDevGuide">
|
||||
<hr>
|
||||
</a>
|
||||
<h2>HDF5 Application Developer's Guide</h2>
|
||||
These documents are intended for HDF5 application developers.
|
||||
Other documents for this <cite>Guide</cite>
|
||||
(e.g., <cite>HDF4 to HDF5 File Mappings</cite>)
|
||||
are in development but are not ready for this release.
|
||||
</td></tr>
|
||||
|
||||
<ul>
|
||||
<li><a href="Version.html">Version Numbers</a> -
|
||||
A description of HDF5 version numbers.
|
||||
<li><a href="IOPipe.html">I/O Pipeline</a> -
|
||||
A description of the raw data I/O pipeline.
|
||||
<li><a href="ExternalFiles.html">Working with External Files</a> -
|
||||
A guide to the use of multiple files with HDF5.
|
||||
<li><a href="Big.html">Large Datasets</a> -
|
||||
A guide to accessing large datasets on small computers.
|
||||
<li><a href="MemoryManagement.html">Memory Management</a> -
|
||||
A white paper about memory management issues in HDF5.
|
||||
<li><a href="Coding.html">Coding Style</a> -
|
||||
A white paper about coding style in the HDF5 library code.
|
||||
<li><a href="compat.html">HDF4/HDF5 Compatibility</a> -
|
||||
A white paper about compatibility issues between HDF4 and HDF5.
|
||||
<li><a href="study.html">Chunking Performance Study</a> -
|
||||
A white paper describing the HDF5 chunking performance.
|
||||
</ul>
|
||||
<tr><td valign=top width=35%><a href="Palettes.html">
|
||||
HDF5 Image and</a>
|
||||
<br> <a href="Palettes.html">Palette Specification</a>
|
||||
</td><td></td><td valign=top>A specification for the implementation
|
||||
of images
|
||||
<br>
|
||||
and palettes in HDF5 applications.
|
||||
</td></tr>
|
||||
-->
|
||||
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
And in this document, the
|
||||
HDF5 User's Guide:
|
||||
<a href="Files.html">Files</a>
|
||||
<br>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</a></address>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Wed Aug 19 15:29:11 PDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
@@ -258,10 +173,12 @@ Last modified: Wed Aug 19 15:29:11 PDT 1998
|
||||
<tr><td align=left valign=top>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Last modified: 2 June 2000
|
||||
|
||||
</td><td align=right valign=top>
|
||||
<a href="Copyright.html">Copyright</a>
|
||||
<a href="Copyright.html">Copyright</a>
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
730
doc/html/ImageSpec.html
Executable file
@@ -0,0 +1,730 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Palettes</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
Return to the
|
||||
<a href="ADGuide.html">HDF5 Application Developer's Guide</a> <br>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<center>
|
||||
<h1>HDF5 Image and Palette Specification</h1>
|
||||
<h3><i>(Major revision: Designated Version 1.1 of the
|
||||
Image and Palette Specification)</i></h3>
|
||||
</center>
|
||||
|
||||
The HDF5 specification defines the standard objects and storage for the
|
||||
standard HDF5 objects. (For information about the HDF5 library, model and
|
||||
specification, see the HDF documentation.) This document is an additional
|
||||
specification do define a standard profile for how to store image data
|
||||
in HDF5. Image data in HDF5 is stored as HDF5 datasets with standard attributes
|
||||
to define the properties of the image.
|
||||
<p>This specification defines:
|
||||
<ul>
|
||||
<li>
|
||||
Standard attributes for an Image dataset</li>
|
||||
|
||||
<li>
|
||||
Standard storage and attributes for Palettes</li>
|
||||
|
||||
<li>
|
||||
Standard for associating Palettes with Images.</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
1. HDF5 Image Specification</h2>
|
||||
|
||||
<h3>
|
||||
1.1 Overview</h3>
|
||||
Image data is stored as an HDF5 dataset with values of HDF5 class Integer
|
||||
or Float. A common example would be a two dimensional dataset, with
|
||||
elements of type Integer. However, this specification does not limit
|
||||
the dimensions or number type that may be used for an Image.
|
||||
<p>The dataset for an image is distinguished from other datasets by giving
|
||||
it an attribute "CLASS=IMAGE". In addition, the Image dataset has
|
||||
an attribute "PALETTE" that points to one or more palettes.
|
||||
<p>A Palette is ha HDF5 dataset. A Pallet dataset has an attribute
|
||||
"an" and other attributes indicating the type and size of the palette.
|
||||
A Palette is an independent object, which can be shared among several Image
|
||||
datasets.
|
||||
<h3>
|
||||
1.2 Image Attributes</h3>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Attribute name="<b>CLASS</b>"</dt>
|
||||
|
||||
<dd>
|
||||
This attribute is of type H5T_C_S1, with size 6.</dd>
|
||||
|
||||
<dd>
|
||||
For all Images, the value of this attribute is "IMAGE".</dd>
|
||||
</dl>
|
||||
|
||||
<dd>
|
||||
This attribute identifies this data set as intended to be interpreted as
|
||||
an image that conforms to the specifications on this page.</dd>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_SUBCLASS</b>"</dt>
|
||||
|
||||
<dd>
|
||||
If present, the value of this attribute indicates the type of Palette that
|
||||
should be used with the Image. This attribute is of type H5T_C_S1,
|
||||
with size according to the string. The values are:</dd>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
"IMAGE_GRAYSCALE"</dt>
|
||||
|
||||
<dd>
|
||||
A grayscale image, values 0-255 indicating brightness.</dd>
|
||||
|
||||
<dt>
|
||||
"IMAGE_BITMAP"</dt>
|
||||
|
||||
<dd>
|
||||
A "bit map" image (???)</dd>
|
||||
|
||||
<dt>
|
||||
"IMAGE_TRUECOLOR"</dt>
|
||||
|
||||
<dd>
|
||||
A truecolor image</dd>
|
||||
|
||||
<dt>
|
||||
"IMAGE_INDEXED"</dt>
|
||||
|
||||
<dd>
|
||||
An indexed image</dd>
|
||||
</dl>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_WHITE_IS_ZERO</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
This attribute is of type H5T_NATIVE_UCHAR. 0 = false, 1 = true .
|
||||
This is used for images with IMAGE_SUBCLASS="IMAGE_GRAYSCALE" or "IMAGE_BITMAP".</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_MINMAXRANGE</b>"</dt>
|
||||
|
||||
<dd>
|
||||
If present, this attribute is an array of two numbers, of the same HDF5
|
||||
datatype as the data. The first element is the minimum value of the
|
||||
data, and the second is the maximum. This is used for images with
|
||||
IMAGE_SUBCLASS="IMAGE_GRAYSCALE", "IMAGE_BITMAP" or "IMAGE_INDEXED".</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_BACKGROUNDINDEX</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
If set, this attribute indicates the index value that should be interpreted
|
||||
as the "background color". This attribute is HDF5 type H5T_NATIVE_UINT.</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_TRANSPARENCY</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
If set, this attribute indicates the index value that should be interpreted
|
||||
as the "transparent color". This attribute is HDF5 type H5T_NATIVE_UINT.
|
||||
This attribute may not be used for IMAGE_SUBCLASS="IMAGE_TRUE_COLOR".</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_ASPECTRATIO</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
If set, this attribute indicates the aspect ratio. This attribute
|
||||
is HDF5 type H5T_NATIVE_UINT.</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_COLORMODEL</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
If set, this attribute indicates the color model of Palette that should
|
||||
be used with the Image. This attribute is of type H5T_C_S1, with
|
||||
size 4,5, or 6. The value is one of the color models described in
|
||||
the Palette specification below. This attribute may be used only
|
||||
for IMAGE_SUBCLASS="IMAGE_TRUECOLOR" or "IMAGE_INDEXED".</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>IMAGE_GAMMACORRECTION</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
If set, this attribute gives the Gamma correction. The type is H5T_NATIVE_FLOAT.
|
||||
This attribute may be used only for IMAGE_SUBCLASS="IMAGE_TRUECOLOR" or
|
||||
"IMAGE_INDEXED".</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>PALETTE</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dd>
|
||||
A dataset within an HDF5 file may optionally specify an array of palettes
|
||||
to be viewed with. The dataset will have an attribute field called "<b>PALETTE</b>"
|
||||
which contains an array of object reference pointers which refer to palettes
|
||||
in the file. The first palette in this array will be the default palette
|
||||
that the data may be viewed with.</dd>
|
||||
</dl>
|
||||
Attribute name="<b>IMAGE_VERSION</b>"
|
||||
<dl>
|
||||
<dd>
|
||||
This attribute is of type H5T_C_S1, with size corresponding to the length
|
||||
of the version string. This attribute identifies the version number
|
||||
of this specification to which it conforms. The initial version number
|
||||
is "1.0".</dd>
|
||||
|
||||
<br>
|
||||
<p>
|
||||
<br>
|
||||
<br>
|
||||
<center><table BORDER=2 BGCOLOR="#FFFFFF" >
|
||||
<caption>Attributes of an Image Dataset</caption>
|
||||
|
||||
<tr>
|
||||
<td><b>Attribute Name</b></td>
|
||||
|
||||
<td></td>
|
||||
|
||||
<td><b>Type</b></td>
|
||||
|
||||
<td><b>Value</b></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>CLASS</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>"IMAGE"</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PALETTE</td>
|
||||
|
||||
<td>O</td>
|
||||
|
||||
<td>Array of Object References</td>
|
||||
|
||||
<td><references to Palette datasets><sup>1</sup></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_SUBCLASS</td>
|
||||
|
||||
<td>O<sup>2</sup></td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>
|
||||
<dt>
|
||||
"IMAGE_GRAYSCALE",</dt>
|
||||
|
||||
<dt>
|
||||
"IMAGE_BITMAP",</dt>
|
||||
|
||||
<dt>
|
||||
"IMAGE_TRUECOLOR",</dt>
|
||||
|
||||
<dt>
|
||||
"IMAGE_INDEXED"</dt>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PALETTE</td>
|
||||
|
||||
<td>O</td>
|
||||
|
||||
<td>Array of Object Reference</td>
|
||||
|
||||
<td><references to Palette datasets></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_WHITE_IS_ZERO</td>
|
||||
|
||||
<td>O<sup>3,4</sup></td>
|
||||
|
||||
<td>Unsigned Integer</td>
|
||||
|
||||
<td>0 = false, 1 = true</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_MINMAXRANGE</td>
|
||||
|
||||
<td>O<sup>3,5</sup></td>
|
||||
|
||||
<td>Unsigned Integer[2]</td>
|
||||
|
||||
<td>The (<minimum>, <maximum>) value of the data.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_BACKGROUNDINDEX</td>
|
||||
|
||||
<td>O<sup>3</sup></td>
|
||||
|
||||
<td>Unsigned Integer</td>
|
||||
|
||||
<td>The index of the background color.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_TRANSPARENCY</td>
|
||||
|
||||
<td>O<sup>3,5</sup></td>
|
||||
|
||||
<td>Unsigned Integer</td>
|
||||
|
||||
<td>The index of the transparent color.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_ASPECTRATIO</td>
|
||||
|
||||
<td>O<sup>3,4</sup></td>
|
||||
|
||||
<td>Unsigned Integer</td>
|
||||
|
||||
<td>The aspect ratio.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_COLORMODEL</td>
|
||||
|
||||
<td>O<sup>3,6</sup></td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>The color model, as defined below in the Palette specification for
|
||||
attribute <b>PAL_COLORMODEL</b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_GAMMACORRECTION</td>
|
||||
|
||||
<td>O<sup>3,6</sup></td>
|
||||
|
||||
<td>Float</td>
|
||||
|
||||
<td>The gamma correction.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>IMAGE_VERSION</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td><specification version number></td>
|
||||
</tr>
|
||||
</table></center>
|
||||
|
||||
<dl><font size=-1>1. The first element of the array is the default
|
||||
Palette.</font>
|
||||
<br><font size=-1>2. This attribute is <b>required</b> for images
|
||||
that are converted from one of the standard types listed.</font>
|
||||
<br><font size=-1>3. This attribute is <b>required</b> if set for images
|
||||
converted from the applicable standard type.</font>
|
||||
<br><font size=-1>4. This applies to gray scale images: IMAGE_SUBCLASS="IMAGE_GRAYSCALE"
|
||||
or "IMAGE_BITMAP".</font>
|
||||
<br><font size=-1>5. This applies to gray scale images: IMAGE_SUBCLASS="IMAGE_GRAYSCALE",
|
||||
"IMAGE_BITMAP", or "IMAGE_INDEXED".</font>
|
||||
<br><font size=-1>5. This applies to gray scale images: IMAGE_SUBCLASS="IMAGE_TRUECOLOR",
|
||||
or "IMAGE_INDEXED".</font></dl>
|
||||
</dl>
|
||||
|
||||
<h3>
|
||||
1.3 Storage Properties for Images</h3>
|
||||
Image datasets may be stored with any chunking or compression properties
|
||||
supported by HDF5.
|
||||
<h2>
|
||||
2. HDF5 Palette Specification</h2>
|
||||
|
||||
<h3>
|
||||
2.1 Overview</h3>
|
||||
A palette is the means by which color is applied to an image and is also
|
||||
referred to as a color lookup table. It is a table in which every row contains
|
||||
the numerical representation of a particular color. In the example of an
|
||||
8-bit standard RGB color model palette, this numerical representation of
|
||||
a color is presented as a triplet specifying the intensity of red, green,
|
||||
and blue components that make up each color.
|
||||
<center>
|
||||
<p><img SRC="Palettes.fm.anc.gif" ></center>
|
||||
|
||||
<p>In this example, the color component numeric type is an 8-bit unsigned
|
||||
integer. While this is most common and recommended for general use, other
|
||||
component color numeric datatypes, such as a 16-bit unsigned integer ,
|
||||
may be used. This type is specified as the type attribute of the palette
|
||||
dataset. (see H5Tget_type(), H5Tset_type())
|
||||
<p>The minimum and maximum values of the component color numeric are specified
|
||||
as attribute of the palette dataset. See below (attribute PAL_MINMAXNUMERIC).
|
||||
If these attributes do not exist, it is assumed that the range of values
|
||||
will fill the space of the color numeric type. i.e. with an 8-bit unsigned
|
||||
integer, the valid range would be 0 to 255 for each color component.
|
||||
<p>The HDF5 palette specification additionally allows for color models
|
||||
beyond RGB. YUV, HSV, CMY, CMYK, YCbCr color models are supported, and
|
||||
may be specified as a color model attribute of the palette dataset. <i>(see
|
||||
"Palette Attributes" for details)</i>.
|
||||
<p>In HDF 4 and earlier, palettes were limited to 256 colors. The HDF5
|
||||
palette specification allows for palettes of varying length. The length
|
||||
is specified as the number of rows of the palette dataset.
|
||||
<p>In a standard palette, the color entries are indexed directly. HDF5
|
||||
supports the notion of a range index table. Such a table defines an ascending
|
||||
ordered of ranges that map dataset values to the palette. If a range index
|
||||
table exists for the palette, the PAL_TYPE attribute will be set to "RANGEINDEX",
|
||||
and the PAL_RANGEINDEX attribute will contain an object reference to a
|
||||
range index table array. If not, the PAL_TYPE attribute either does not
|
||||
exist, or will be set to "STANDARD".
|
||||
<p>The range index table array consists of a one dimensional array with
|
||||
the same length as the palette dataset - 1. Ideally, the range index would
|
||||
be of the same type as the dataset it refers to, however this is not a
|
||||
requirement.
|
||||
<p><b>Example 2: A range index array of type floating point</b>
|
||||
<center>
|
||||
<p><img SRC="PaletteExample1.gif" ></center>
|
||||
|
||||
<p>The range index array attribute defines the "<i>to</i>" of the range.
|
||||
Notice that the range index array attribute is one less entry in size than
|
||||
the palette. The first entry of 0.1259, specifies that all values below
|
||||
and up to 0.1259 inclusive, will map to the first palette entry. The second
|
||||
entry signifies that all values greater than 0.1259 up to 0.3278 inclusive,
|
||||
will map to the second palette entry, etc. All value greater than the last
|
||||
range index array attribute (100000) map to the last entry in the palette.
|
||||
<h3>
|
||||
2.2. Palette Attributes</h3>
|
||||
A palette exists in an HDF file as an independent data set with accompanying
|
||||
attributes.
|
||||
<p>These attributes are defined as follows:
|
||||
<dl>
|
||||
<dt>
|
||||
Attribute name="<b>CLASS</b>"</dt>
|
||||
|
||||
<dd>
|
||||
This attribute is of type H5T_C_S1, with size 8.</dd>
|
||||
|
||||
<dd>
|
||||
For all palettes, the value of this attribute is "PALETTE". This attribute
|
||||
identifies this palette data set as a palette that conforms to the specifications
|
||||
on this page.</dd>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>PAL_COLORMODEL</b>"</dt>
|
||||
|
||||
<dd>
|
||||
This attribute is of type H5T_C_S1, with size 4, 5, or 6.</dd>
|
||||
|
||||
<dd>
|
||||
Possible values for this are "RGB", "YUV", "CMY", "CMYK", "YCbCr", "HSV".</dd>
|
||||
|
||||
<dd>
|
||||
This defines the color model that the entries in the palette data set represent.</dd>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
"RGB"</dt>
|
||||
|
||||
<dd>
|
||||
Each color index contains a triplet where the the first value defines the
|
||||
red component, second defines the green component, and the third the blue
|
||||
component.</dd>
|
||||
|
||||
<dt>
|
||||
"CMY"</dt>
|
||||
|
||||
<dd>
|
||||
Each color index contains a triplet where the the first value defines the
|
||||
cyan component, second defines the magenta component, and the third the
|
||||
yellow component.</dd>
|
||||
|
||||
<dt>
|
||||
"CMYK"</dt>
|
||||
|
||||
<dd>
|
||||
Each color index contains a quadruplet where the the first value defines
|
||||
the cyan component, second defines the magenta component, the third the
|
||||
yellow component, and the forth the black component.</dd>
|
||||
|
||||
<dt>
|
||||
"YCbCr"</dt>
|
||||
|
||||
<dd>
|
||||
Class Y encoding model. Each color index contains a triplet where the the
|
||||
first value defines the luminance, second defines the Cb Chromonance, and
|
||||
the third the Cr Chromonance.</dd>
|
||||
|
||||
<dt>
|
||||
"YUV"</dt>
|
||||
|
||||
<dd>
|
||||
Composite encoding color model. Each color index contains a triplet where
|
||||
the the first value defines the luminance component, second defines the
|
||||
chromonance component, and the third the value component.</dd>
|
||||
|
||||
<dt>
|
||||
"HSV"</dt>
|
||||
|
||||
<dd>
|
||||
Each color index contains a triplet where the the first value defines the
|
||||
hue component, second defines the saturation component, and the third the
|
||||
value component. The hue component defines the hue spectrum with a low
|
||||
value representing magenta/red progressing to a high value which would
|
||||
represent blue/magenta, passing through yellow, green, cyan. A low value
|
||||
for the saturation component means less color saturation than a high value.
|
||||
A low value for <i>value</i> will be darker than a high value.</dd>
|
||||
</dl>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>PAL_TYPE</b>"</dt>
|
||||
|
||||
<dd>
|
||||
This attribute is of type H5T_C_S1, with size 10 or 11.</dd>
|
||||
|
||||
<br>The current supported values for this attribute are : "STANDARD8" or
|
||||
"RANGEINDEX"
|
||||
<p>A PAL_TYPE of "STANDARD8" defines a palette dataset such that the first
|
||||
entry defines index 0, the second entry defines index 1, etc. up until
|
||||
the length of the palette - 1. This assumes an image dataset with direct
|
||||
indexes into the palette.
|
||||
<p>If the PAL_TYPE is set to "RANGEINDEX", there will be an additional
|
||||
attribute with a name of "<b>PAL_RANGEINDEX</b>", (See example 2
|
||||
for more details)
|
||||
<dt>
|
||||
Attribute name="<b>PAL_RANGEINDEX</b>"</dt>
|
||||
|
||||
<dd>
|
||||
The <b>PAL_RANGEINDEX</b> attribute contains an HDF object reference pointer
|
||||
which specifies a range index array in the file to be used for color lookups
|
||||
for the palette. (Only for PAL_TYPE="RANGEINDEX"</dd>
|
||||
|
||||
<dt>
|
||||
Attribute name="<b>PAL_MINMAXNUMERIC</b>"</dt>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
If present, this attribute is an array of two numbers, of the same HDF5
|
||||
datatype as the palette elements or color numerics.</dt>
|
||||
|
||||
<br>They specify the minimum and maximum values of the color numeric components.
|
||||
For example, if the palette was an RGB of type Float, the color numeric
|
||||
range for Red, Green, and Blue could be set to be between 0.0 and 1.0.
|
||||
The intensity of the color guns would then be scaled accordingly to be
|
||||
between this minimum and maximum attribute.</dl>
|
||||
Attribute name="<b>PAL_VERSION</b>"
|
||||
<dl>This attribute is of type H5T_C_S1, with size corresponding to the
|
||||
length of the version string. This attribute identifies the version
|
||||
number of this specification to which it conforms. The initial version
|
||||
number is "1.0".</dl>
|
||||
|
||||
<center><table BORDER=2 BGCOLOR="#FFFFFF" >
|
||||
<caption><b>Attributes of a Palette Dataset</b></caption>
|
||||
|
||||
<tr>
|
||||
<td><b>Attribute Name</b></td>
|
||||
|
||||
<td></td>
|
||||
|
||||
<td><b>Type</b></td>
|
||||
|
||||
<td><b>Value</b></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>CLASS</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>"PALETTE"</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PAL_COLORMODEL</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>Color Model: "RGB", YUV", "CMY", "CMYK", "YCbCr", or "HSV"</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PAL_TYPE</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td>"STANDARD8" or "RANGEINDEX"</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>RANGE_INDEX</td>
|
||||
|
||||
<td>R<sup>1</sup></td>
|
||||
|
||||
<td>Object Reference </td>
|
||||
|
||||
<td><Object Reference to Dataset of range index values></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PAL_MINMAXNUMERIC</td>
|
||||
|
||||
<td>O</td>
|
||||
|
||||
<td>Array[2] of <same datatype as palette></td>
|
||||
|
||||
<td>The first value is the <Minimum value for color values>, the second
|
||||
value is <Maximum value for color values><sup>2</sup></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PAL_VERSION</td>
|
||||
|
||||
<td>R</td>
|
||||
|
||||
<td>String</td>
|
||||
|
||||
<td><specification version number></td>
|
||||
</tr>
|
||||
</table></center>
|
||||
|
||||
<dl><font size=-1>1. The RANGE_INDEX attribute is required if the
|
||||
PAL_TYPE is "RANGEINDEX". Otherwise, the RANGE_INDEX attribute should
|
||||
be omitted.</font>
|
||||
<br><font size=-1>2. The minimum and maximum are optional.
|
||||
If not set, the range is assumed to the maximum range of the number type.
|
||||
If one of these attributes is set, then both should be set. The value
|
||||
of the minumum must be less than or equal to the value of the maximum.</font></dl>
|
||||
</dl>
|
||||
|
||||
<h3>
|
||||
2.3. Storage Layout for Palettes</h3>
|
||||
The values of the Palette are stored as a dataset. The datatype can
|
||||
be any HDF 5 atomic numeric type. The dataset will have dimensions
|
||||
(<tt>nentries</tt> by <tt>ncomponents</tt>), where '<tt>nentries</tt>'
|
||||
is the number of colors (usually 256) and '<tt>ncomponents'</tt> is the
|
||||
number of values per color (3 for <b>RGB</b>, 4 for <b>CMYK</b>, etc.)
|
||||
<br>
|
||||
<h2>
|
||||
3. Consistency and Correlation of Image and Palette Attributes</h2>
|
||||
The objects in this specification are an extension to the base HDF5 specification
|
||||
and library. They are accessible with the standard HDF5 library,
|
||||
but the semantics of the objects are not enforced by the base library.
|
||||
For example, it is perfectly possible to add an attribute called <b>IMAGE</b>
|
||||
to <i>any</i> dataset, or to include an object reference to <i>any</i>
|
||||
HDF5 dataset as a "palette" in a <b>PALETTE</b> attribute. this would
|
||||
be a perfectly valid HDF5 file, but not conformant to this specification.
|
||||
The rules defined in this specification must be implemented with appropriate
|
||||
software, and applications must use conforming software to assure correctness.
|
||||
<p>The Image and Palette specifications include several mutually redundant
|
||||
standard attributes, such as the <b>IMAGE_COLORMODEL</b> and the <b>PAL_COLORMODEL</b>.
|
||||
These attributes are informative not normative, in that it is acceptable
|
||||
to attach a Palette to an Image dataset even if their attributes do not
|
||||
match. Software is not required to enforce consistency, and files
|
||||
may contain mismatched associations of Images and Palettes. In all
|
||||
cases, it is up to applications to determine what kinds of images and color
|
||||
models can be supported.
|
||||
<p>For example, an Image that was created from a file with an "RGB" may
|
||||
have a "YUV" Palette in its <b>PALETTE</b> attribute array. This
|
||||
would be a legal HDF5 file and also a conforms to this specification, although
|
||||
it may or may not be correct or useable for a given application.
|
||||
<p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
Return to the
|
||||
<a href="ADGuide.html">HDF5 Application Developer's Guide</a> <br>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<!-- Created: Spring 1999 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 22 May 2000
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
56
doc/html/Makefile.in
Normal file
@@ -0,0 +1,56 @@
|
||||
# HDF5 Library Makefile(.in)
|
||||
#
|
||||
# Copyright (C) 1997 National Center for Supercomputing Applications.
|
||||
# All rights reserved.
|
||||
#
|
||||
#
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=../..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:@srcdir@
|
||||
@COMMENCE@
|
||||
|
||||
# Subdirectories in build-order (not including `examples')
|
||||
SUBDIRS=Tutor
|
||||
DOCDIR=$(docdir)/hdf5
|
||||
|
||||
TRACE=perl $(top_srcdir)/bin/trace
|
||||
|
||||
# Add `-I.' to the C preprocessor flags.
|
||||
CPPFLAGS=-I. -I@srcdir@ @CPPFLAGS@
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEAN=
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
PUB_DOCS= Attributes.html Big.html Caching.html Chunking.html Chunk_f1.gif \
|
||||
Chunk_f2.gif Chunk_f3.gif Chunk_f4.gif Chunk_f5.gif Chunk_f6.gif \
|
||||
Coding.html Copyright.html Datasets.html Dataspaces.html \
|
||||
Datatypes.html ddl.html Debugging.html EnumMap.gif Environment.html \
|
||||
Errors.html FF-IH_FileGroup.gif FF-IH_FileObject.gif Files.html \
|
||||
Filters.html FF-IH_FileGroup.gif FF-IH_FileObject.gif Glossary.html \
|
||||
Groups.html H5.api_map.html H5.format.html H5.intro.html \
|
||||
H5.sample_code.html H5.user.html \
|
||||
IH_map1.gif IH_map2.gif IH_map3.gif IH_map4.gif \
|
||||
IH_mapFoot.gif IH_mapHead.gif IOPipe.html MountingFiles.html \
|
||||
NCSAfooterlogo.gif PaletteExample1.gif Palettes.fm.anc.gif \
|
||||
Palettes.html Performance.html Properties.html Ragged.html \
|
||||
References.html RM_H5.html \
|
||||
RM_H5A.html RM_H5D.html RM_H5E.html RM_H5F.html RM_H5Front.html \
|
||||
RM_H5G.html RM_H5I.html RM_H5P.html RM_H5R.html RM_H5RA.html \
|
||||
RM_H5S.html RM_H5T.html RM_H5Z.html Tools.html Version.html chunk1.gif \
|
||||
compat.html dataset_p1.gif dataset_p1.obj extern1.gif extern2.gif \
|
||||
group_p1.gif group_p2.gif group_p3.gif h5s.examples hdf2.jpg \
|
||||
ph5design.html ph5example.c ph5implement.txt pipe1.gif pipe2.gif \
|
||||
pipe3.gif pipe4.gif pipe5.gif index.html version.gif
|
||||
|
||||
# Other doc files (not to be installed)...
|
||||
PRIVATE_DOCS= Chunk_f1.obj Chunk_f2.obj Chunk_f6.obj CodeReview.html \
|
||||
ExternalFiles.html H5.user.PrintGen.html H5.user.PrintTpg.html \
|
||||
MemoryManagement.html ObjectHeader.txt chunk1.obj \
|
||||
extern1.obj extern2.obj group_p1.obj group_p2.obj group_p3.obj \
|
||||
pipe1.obj pipe2.obj pipe3.obj pipe4.obj pipe5.obj heap.txt move.html \
|
||||
review1.html review1a.html storage.html symtab version.obj \
|
||||
Lib_Maint.html
|
||||
|
||||
@CONCLUDE@
|
||||
417
doc/html/MountingFiles.html
Normal file
@@ -0,0 +1,417 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Mounting Files</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
Mounting Files
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<h1>Mounting Files</h1>
|
||||
|
||||
<h2>Purpose</h2>
|
||||
|
||||
<p>This document contrasts two methods for mounting an hdf5 file
|
||||
on another hdf5 file: the case where the relationship between
|
||||
files is a tree and the case where it's a graph. The tree case
|
||||
simplifies current working group functions and allows symbolic
|
||||
links to point into ancestor files whereas the graph case is
|
||||
more consistent with the organization of groups within a
|
||||
particular file.
|
||||
|
||||
<h2>Definitions</h2>
|
||||
|
||||
<p>If file <code>child</code> is mounted on file
|
||||
<code>parent</code> at group <code>/mnt</code> in
|
||||
<code>parent</code> then the contents of the root group of
|
||||
<code>child</code> will appear in the group <code>/mnt</code> of
|
||||
<code>parent</code>. The group <code>/mnt</code> is called the
|
||||
<em>mount point</em> of the child in the parent.
|
||||
|
||||
<h2>Common Features</h2>
|
||||
|
||||
<p>These features are common to both mounting schemes.
|
||||
|
||||
<ul>
|
||||
<li>The previous contents of <code>/mnt</code> in
|
||||
<code>parent</code> is temporarily hidden. If objects in that
|
||||
group had names from other groups then the objects will still
|
||||
be visible by those other names.
|
||||
|
||||
<li>The mount point is actually an OID (not a name) so if there
|
||||
are other names besides <code>/mnt</code> for that group then
|
||||
the root group of the child will be visible in all those
|
||||
names.
|
||||
|
||||
<li>At most one file can be mounted per mount point but a parent
|
||||
can have any number of mounted children.
|
||||
|
||||
<li>Name lookups will entail a search through the mount table at
|
||||
each stage of the lookup. The search will be O(log
|
||||
<em>N</em>) where <em>N</em> is the number of children mounted
|
||||
on that file.
|
||||
|
||||
<li>Files open for read-only can be mounted on other files that
|
||||
are open for read-only. Mounting a file in no way changes the
|
||||
contents of the file.
|
||||
|
||||
<li>Mounting a child may hide mount points that exist below the
|
||||
child's mount point, but it does not otherwise affect mounted
|
||||
files.
|
||||
|
||||
<li>Hard links cannot cross file boundaries. An object cannot
|
||||
be moved or renamed with <code>H5Gmove()</code> in such a way
|
||||
that the new location would be in a different file than the
|
||||
original location.
|
||||
|
||||
<li>The child can be accessed in a manner different from the
|
||||
parent. For instance, a read-write child in a read-only
|
||||
parent, a parallel child in a serial parent, <em>etc</em>.
|
||||
|
||||
<li>If some object in the child is open and the child is
|
||||
unmounted and/or closed, the object will remain open and
|
||||
accessible until explicitly closed. As in the mountless case,
|
||||
the underlying UNIX file will be held open until all member
|
||||
objects are closed.
|
||||
|
||||
<li>Current working groups that point into a child will remain
|
||||
open and usable even after the child has been unmounted and/or
|
||||
closed.
|
||||
|
||||
<li>Datasets that share a committed datatype must reside in the
|
||||
same file as the datatype.
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Contrasting Features</h2>
|
||||
|
||||
<center>
|
||||
<table border width="90%">
|
||||
<tr>
|
||||
<th width="50%">Tree</th>
|
||||
<th width="50%">Graph</th>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>The set of mount-related files makes a tree.</td>
|
||||
<td>The set of mount-related files makes a directed
|
||||
graph.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>A file can be mounted at only one mount point.</td>
|
||||
<td>A file can be mounted at any number of mount points.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Symbolic links in the child that have a link value which
|
||||
is an absolute name can be interpreted with respect to the
|
||||
root group of either the child or the root of the mount
|
||||
tree, a property which is determined when the child is
|
||||
mounted.</td>
|
||||
<td>Symbolic links in the child that have a link value which
|
||||
is an absolute name are interpreted with respect to the
|
||||
root group of the child.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Closing a child causes it to be unmounted from the
|
||||
parent.</td>
|
||||
<td>Closing a child has no effect on its relationship with
|
||||
the parent. One can continue to access the child contents
|
||||
through the parent.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Closing the parent recursively unmounts and closes all
|
||||
mounted children.</td>
|
||||
<td>Closing the parent unmounts all children but
|
||||
does not close them or unmount their children.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>The current working group functions
|
||||
<code>H5Gset()</code>, <code>H5Gpush()</code>, and
|
||||
<code>H5Gpop()</code> operate on the root of the mount
|
||||
tree.</td>
|
||||
<td>The current working group functions operate on the file
|
||||
specified by their first argument.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Absolute name lookups (like for <code>H5Dopen()</code>)
|
||||
are always performed with respect to the root of the mount
|
||||
tree.</td>
|
||||
<td>Absolute name lookups are performed with respect to the
|
||||
file specified by the first argument.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Relative name lookups (like for <code>H5Dopen()</code>)
|
||||
are always performed with respect to the specified group
|
||||
or the current working group of the root of the mount
|
||||
tree.</td>
|
||||
<td>Relative name lookups are always performed with respect
|
||||
to the specified group or the current working group of the
|
||||
file specified by the first argument.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Mounting a child temporarily hides the current working
|
||||
group stack for that child</td>
|
||||
<td>Mounting a child has no effect on its current working
|
||||
group stack.</td>
|
||||
</tr>
|
||||
|
||||
<tr valign=top>
|
||||
<td>Calling <code>H5Fflush()</code> will flush all files of
|
||||
the mount tree regardless of which file is specified as
|
||||
the argument.</td>
|
||||
<td>Calling <code>H5Fflush()</code> will flush only the
|
||||
specified file.</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<h2>Functions</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>herr_t H5Fmount(hid_t <em>loc</em>, const char
|
||||
*<em>name</em>, hid_t <em>child</em>, hid_t
|
||||
<em>plist</em>)</code>
|
||||
<dd>The file <em>child</em> is mounted at the specified location
|
||||
in the parent. The <em>loc</em> and <em>name</em> specify the
|
||||
mount point, a group in the parent. The <em>plist</em>
|
||||
argument is an optional mount property list. The call will
|
||||
fail if some file is already mounted on the specified group.
|
||||
|
||||
<table border>
|
||||
<tr>
|
||||
<th width="50%">Tree</th>
|
||||
<th width="50%">Graph</th>
|
||||
</tr>
|
||||
<tr valign=top>
|
||||
<td>The call will fail if the child is already mounted
|
||||
elsewhere.</td>
|
||||
<td>A child can be mounted at numerous mount points.</td>
|
||||
</tr>
|
||||
<tr valign=top>
|
||||
<td>The call will fail if the child is an ancestor of the
|
||||
parent.</td>
|
||||
<td>The mount graph is allowed to have cycles.</td>
|
||||
</tr>
|
||||
<tr valign=top>
|
||||
<td>Subsequently closing the child will cause it to be
|
||||
unmounted from the parent.</td>
|
||||
<td>Closing the child has no effect on its mount
|
||||
relationship with the parent.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Funmount(hid_t <em>loc</em>, const char
|
||||
*<em>name</em>)</code>
|
||||
<dd>Any file mounted at the group specified by <em>loc</em> and
|
||||
<em>name</em> is unmounted. The child is not closed. This
|
||||
function fails if no child is mounted at the specified point.
|
||||
|
||||
<br><br>
|
||||
<dt><code>hid_t H5Pcreate(H5P_MOUNT)</code>
|
||||
<dd>Creates and returns a new mount property list initialized
|
||||
with default values.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_symlink_locality(hid_t <em>plist</em>,
|
||||
H5G_symlink_t <em>locality</em>)</code>
|
||||
<dt><code>herr_t H5Pget_symlink_locality(hid_t <em>plist</em>,
|
||||
H5G_symlink_t *<em>locality</em>)</code>
|
||||
<dd>These functions exist only for the tree scheme. They set or
|
||||
query the property that determines whether symbolic links with
|
||||
absolute name value in the child are looked up with respect to
|
||||
the child or to the mount root. The possible values are
|
||||
<code>H5G_SYMLINK_LOCAL</code> or
|
||||
<code>H5G_SYMLINK_GLOBAL</code> (the default).
|
||||
|
||||
<br><br>
|
||||
<dt><code>hid_t H5Freopen(hid_t <em>file</em>)</code>
|
||||
<dd>A file handle is reopened, creating an additional file
|
||||
handle. The new file handle refers to the same file but has an
|
||||
empty current working group stack.
|
||||
|
||||
<table border>
|
||||
<tr>
|
||||
<th width="50%">Tree</th>
|
||||
<th width="50%">Graph</th>
|
||||
</tr>
|
||||
<tr valign=top>
|
||||
<td>The new handle is not mounted but the old handle
|
||||
continues to be mounted.</td>
|
||||
<td>The new handle is mounted at the same location(s) as
|
||||
the original handle.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<h2>Example</h2>
|
||||
|
||||
<p>A file <code>eos.h5</code> contains data which is constant for
|
||||
all problems. The output of a particular physics application is
|
||||
dumped into <code>data1.h5</code> and <code>data2.h5</code> and
|
||||
the physics expects various constants from <code>eos.h5</code>
|
||||
in the <code>eos</code> group of the two data files. Instead of
|
||||
copying the contents of <code>eos.h5</code> into every physics
|
||||
output file we simply mount <code>eos.h5</code> as a read-only
|
||||
child of <code>data1.h5</code> and <code>data2.h5</code>.
|
||||
|
||||
<center>
|
||||
<table border width="90%">
|
||||
<tr><td><h3>Tree</h3><code><pre>
|
||||
/* Create data1.h5 */
|
||||
data1 = H5Fcreate("data1.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
H5Gclose(H5Gcreate(data1, "/eos", 0));
|
||||
H5Gset_comment(data1, "/eos", "EOS mount point");
|
||||
|
||||
/* Create data2.h5 */
|
||||
data2 = H5Fcreate("data2.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
H5Gclose(H5Gcreate(data2, "/eos", 0));
|
||||
H5Gset_comment(data2, "/eos", "EOS mount point");
|
||||
|
||||
/* Open eos.h5 and mount it in both files */
|
||||
eos1 = H5Fopen("eos.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
|
||||
H5Fmount(data1, "/eos", eos1, H5P_DEFAULT);
|
||||
eos2 = H5Freopen(eos1);
|
||||
H5Fmount(data2, "/eos", eos2, H5P_DEFAULT);
|
||||
|
||||
... physics output ...
|
||||
|
||||
H5Fclose(data1);
|
||||
H5Fclose(data2);
|
||||
</pre></code></td></tr>
|
||||
<tr><td><h3>Graph</h3><code><pre>
|
||||
/* Create data1.h5 */
|
||||
data1 = H5Fcreate("data1.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
H5Gclose(H5Gcreate(data1, "/eos", 0));
|
||||
H5Gset_comment(data1, "/eos", "EOS mount point");
|
||||
|
||||
/* Create data2.h5 */
|
||||
data2 = H5Fcreate("data2.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
H5Gclose(H5Gcreate(data2, "/eos", 0));
|
||||
H5Gset_comment(data2, "/eos", "EOS mount point");
|
||||
|
||||
/* Open eos.h5 and mount it in both files */
|
||||
eos = H5Fopen("eos.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
|
||||
H5Fmount(data1, "/eos", eos, H5P_DEFAULT);
|
||||
H5Fmount(data2, "/eos", eos, H5P_DEFAULT);
|
||||
H5Fclose(eos);
|
||||
|
||||
... physics output ...
|
||||
|
||||
H5Fclose(data1);
|
||||
H5Fclose(data2);
|
||||
</pre></code></td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
Mounting Files
|
||||
<br>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<!-- Created: Spring 1999 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/PSandPDF/H5-Rx.x.DocSet.pdf
Normal file
332
doc/html/PSandPDF/index.html
Normal file
@@ -0,0 +1,332 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
HDF5 - PDF and PostScript Documents
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<BODY BGCOLOR="#ffffff">
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table cellspacing=0 cellpadding=0 border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="../index.html">HDF5 Document Index and HDF Links</a> <br>
|
||||
<a href="../H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="../Tutor/index.html">HDF5 Tutorial</a> <br>
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="../H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="../RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="../Glossary.html">HDF5 Glossary</a><br>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<center>
|
||||
<br>
|
||||
<h1><img src="../hdf2.jpg" alt="HDF Logo" align=left>HDF5 Release 1.2 Documentation<br>
|
||||
PDF and PostScript Versions</H1>
|
||||
</center>
|
||||
|
||||
|
||||
<hr>
|
||||
<font color=blue>
|
||||
This page provides links to PDF and PostScript versions of the
|
||||
HDF documentation set. These versions, derived from the
|
||||
original HTML documents, are intended to provide the following
|
||||
features:
|
||||
<ul>
|
||||
<li>A copy that can be reasonably printed in a single print operation.
|
||||
<li>An easily searchable copy. (The PDF files can be searched using
|
||||
the Adobe Acrobat Reader with Search, Version 3.1 or later. See
|
||||
<a href="http://www.adobe.com/products/acrobat/readstep.html"
|
||||
target="ADOBE">Adobe's website</a>.)
|
||||
</ul>
|
||||
<p>
|
||||
Note that these versions were created in response to user feedback;
|
||||
the HDF Group is eager to hear from HDF and HDF5 users so that we
|
||||
can better meet our users' needs. Send comments, requests, and
|
||||
bug reports to the HDF Help Desk at
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">hdfhelp@ncsa.uiuc.edu.</a>
|
||||
</font>
|
||||
|
||||
<!-- Comment out first table for use on HDF5 Doc Dev website. -->
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
<CENTER>
|
||||
<table border=0 bgcolor="#BBFFFF" width=80%>
|
||||
|
||||
<tr valign=top align=left><td>
|
||||
A combined document, including
|
||||
<br>
|
||||
<cite>Introduction to HDF5</cite>,
|
||||
<cite>HDF5 Tutorial</cite>,
|
||||
<br>
|
||||
<cite>User's Guide for HDF5</cite> and
|
||||
<cite>HDF5 Reference Manual</cite>,
|
||||
<br>
|
||||
is available locally in PDF format.
|
||||
</td><td>
|
||||
<a href="H5-Rx.x.DocSet.pdf">PDF</a>
|
||||
</td></tr>
|
||||
|
||||
<tr valign=top align=left><td colspan=2>
|
||||
<hr>
|
||||
Individual files for each document, in both PDF and PS formats,
|
||||
are available from the
|
||||
<A HREF="http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/index.html"
|
||||
target="DocDev">HDF5 Doc Development</A> site.
|
||||
</td></tr>
|
||||
|
||||
</table>
|
||||
</CENTER>
|
||||
|
||||
<!-- Comment out second table for release and distribution. -->
|
||||
<!--
|
||||
|
||||
<hr>
|
||||
<CENTER>
|
||||
<table border=0 bgcolor="#BBFFFF" width=80%>
|
||||
|
||||
<tr valign=top align=left><td>
|
||||
Introduction to HDF5
|
||||
</td><td>
|
||||
<a href="H5-R12.Intro.pdf">PDF</a>
|
||||
</td><td>
|
||||
<a href="H5-R12.Intro.ps">PS</a>
|
||||
</td></tr>
|
||||
|
||||
<tr><td>
|
||||
HDF5 Tutorial
|
||||
</td><td>
|
||||
<a href="H5-R12.Tutor.pdf">PDF</a>
|
||||
</td><td>
|
||||
<a href="H5-R12.Tutor.ps">PS</a>
|
||||
</td></tr>
|
||||
|
||||
<tr><td>
|
||||
A User's Guide for HDF5
|
||||
</td><td>
|
||||
<a href="H5-R12.UG.pdf">PDF</a>
|
||||
</td><td>
|
||||
<a href="H5-R12.UG.ps">PS</a>
|
||||
</td></tr>
|
||||
|
||||
<tr><td>
|
||||
HDF5 Reference Manual
|
||||
</td><td>
|
||||
<a href="H5-R12.RM.pdf">PDF</a>
|
||||
</td><td>
|
||||
<a href="H5-R12.RM.ps">PS</a>
|
||||
</td></tr>
|
||||
|
||||
<tr><td>
|
||||
<i>All of the above in a single file</i>
|
||||
</td><td>
|
||||
<a href="H5-R12.DocSet.pdf">PDF</a>
|
||||
</td><td>
|
||||
<a href="H5-R12.DocSet.ps">PS</a>
|
||||
</td></tr>
|
||||
|
||||
<tr><td colspan=3 align=right>
|
||||
<font size=-1>
|
||||
<i>(Last update of linked documents: 15 November 1999)</i>
|
||||
</font>
|
||||
</td></tr>
|
||||
|
||||
</table>
|
||||
</CENTER>
|
||||
|
||||
-->
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
The PS and PDF formatted documents presented here are from Release 1.2.
|
||||
Several small but important changes (see below) were made for Release 1.2.1
|
||||
and Release 1.2.2
|
||||
and are included in the HTML document set that is distributed with the HDF5
|
||||
software and is available from the <a href="../index.html">HDF5 documents
|
||||
index</a>.
|
||||
|
||||
<p>
|
||||
<h3>Significant Changes in Release 1.2.1 and Release 1.2.2 Document Sets</h3>
|
||||
|
||||
This section lists the changes in the HDF5 documents, from Release 1.2
|
||||
to Release 1.2.1 and Release 1.2.2, that affect technical understanding.
|
||||
Minor grammatical and formatting changes are not included.
|
||||
None of these changes below are reflected in the PS and PDF versions
|
||||
referenced above.
|
||||
|
||||
<dl>
|
||||
<dt><b>New documents:</b>:
|
||||
<dt><cite>HDF5 Application Developer's Guide</cite>, which includes the following:
|
||||
<dd><cite>HDF5 Image and Palette Specification</cite>
|
||||
<dd><cite>HDF5 File XML DTD: Design Notes</cite> and
|
||||
a link to the HDF5 file XML DTD
|
||||
<dd><cite>Mapping HDF4 Objects to HDF5 Objects</cite>
|
||||
<dt><cite>HDF5 Technical Notes</cite>
|
||||
<dd>An informal but highly technical document intended for
|
||||
HDF5 library developers.
|
||||
|
||||
<br><br>
|
||||
<dt><b>General change:</b>
|
||||
<dd>Changed references to the HDF5 file's <i>boot block</i> to
|
||||
refer to the <i>super block</i>.
|
||||
|
||||
<br><br>
|
||||
<dt><b>In the <cite>HDF5 Reference Manual:</cite></b>
|
||||
<dt>H5 -- General Library Functions
|
||||
<dd><code>H5garbage_collect</code>:
|
||||
New function.
|
||||
<dt>H5A -- Attributes Interface
|
||||
<dd><code>H5Acreate</code>:
|
||||
Restructured and expanded the description section,
|
||||
with particular attention to the fact that the attribute name
|
||||
specified in <code>H5Acreate</code> must be unique.
|
||||
<dd><code>H5Aiterate</code>:
|
||||
Corrected function return type to <code>herr_t</code>.
|
||||
<dt>H5D -- Dataset Interface
|
||||
<dd><code>H5Dcreate</code>:
|
||||
Added paragraph explaining that <em>name</em> must be unique.
|
||||
<dd><code>H5Dopen</code>:
|
||||
Corrected description of <em>loc_id</em> parameter.
|
||||
<dd><code>H5Dclose</code>:
|
||||
Corrected return type to <code>herr_t</code>.
|
||||
<dd><code>H5Dcreate</code>:
|
||||
Inserted missing spaces in function syntax statement.
|
||||
<dt>H5E -- Error Interface
|
||||
<dd><code>H5Ewalk</code>:
|
||||
Added <code>H5E_walk_t</code> prototype and prototype parameter
|
||||
descriptions.
|
||||
<dt>H5F -- File Interface
|
||||
<dd><code>H5Fclose</code>:
|
||||
Corrected behavior description.
|
||||
<dd><code>H5Fcreate</code> and <code> H5Fopen</code>:
|
||||
Clarified description of file access flags in parameters section.
|
||||
<dd><code>H5Freopen</code>:
|
||||
Corrected description of <code>file_id</code> parameter.
|
||||
Added comment about eventually closing returned identifier.
|
||||
Added clarification that function cannot open closed files.
|
||||
<dt>H5G -- Group Interface
|
||||
<dd><code>H5Giterate</code>: Corrected <em>operator</em> parameter
|
||||
datatype to <code>H5G_iterate_t</code>.
|
||||
Made minor corrections to <code>H5G_iterate_t</code> prototype syntax.
|
||||
Added note that <code>H5Giterate</code> behavior is undefined
|
||||
if the group structure or membership changes during the iteration.
|
||||
<dt>H5P -- Property List Interface
|
||||
<dd><code>H5Pset_mpi</code>:
|
||||
Corrected purpose section.
|
||||
<dd><code>H5Pset/get_cache</code>:
|
||||
Added missing <em>rdcc_nelmts</em> parameter.
|
||||
Corrected inconsistent references to <em>rdcc_wo</em> parameter.
|
||||
Clarified purpose and description sections.
|
||||
<dd><code>H5Pget_sec2</code>:
|
||||
Corrected return type to <code>herr_t</code>.
|
||||
<dd><code>H5Pget_chunk</code>:
|
||||
Changed <em>max_ndims</em> parameter description to IN.
|
||||
<dd><code>H5Pget/set_gc_references</code>:
|
||||
Corrected signature errors.
|
||||
Added missing parameter description and values.
|
||||
<dd><code>H5Pget/set_family</code>:
|
||||
These functions were removed; they have not been implemented.
|
||||
<dd><code>H5Pget/set_hyper_cache</code>:
|
||||
Corrected signature and parameter expressions.
|
||||
Added missing parameter description.
|
||||
<dd><code>H5Pset_buffer</code>:
|
||||
Added units for parameter <em>size</em>.
|
||||
<dd><code>H5Pget/set_split</code>:
|
||||
Corrected misnamed parameters.
|
||||
<dd><code>H5Pset_alignment</code> and <code>H5Pset_core</code>:
|
||||
Added statement regarding "special case" effect of
|
||||
setting <em>threshold</em> to <code>0</code> (zero).
|
||||
Added clarification that <em>threshold</em> is non-negative and
|
||||
<em>alignment</em> and <em>increment</em> are both positive.
|
||||
<dd><code>H5Pget/set_vlen_mem_manager</code>:
|
||||
Corrected cross-reference to <code>H5Dvlen_reclaim</code>.
|
||||
Clarified circumstances under which the contents of a parameter
|
||||
are ignored.
|
||||
<dt>H5S -- Dataspace Interface
|
||||
<dd><code>H5Sget_simple_extent_dims</code>:
|
||||
Added statement that either or both of <em>dims</em>
|
||||
and <em>maxdims</em> may be <code>NULL</code>.
|
||||
<dt>H5T-- Datatype Interface
|
||||
<dd><code>H5Tconvert</code>:
|
||||
Added missing <em>plist_id</em> parameter.
|
||||
<dd><code>H5Tget_class</code>:
|
||||
Added <code>H5T_VLEN</code> to class identifiers list.
|
||||
Corrected <code>H5T_ENUM</code> and <code>H5T_REFERENCE</code>
|
||||
entries in class identifiers table (they were reversed).
|
||||
<dd><code>H5Tget/set_fields</code>:
|
||||
Added missing <em>spos</em> parameter.
|
||||
<dd><code>H5Tregister</code>:
|
||||
Corrected possible <em>pers</em> values to <code>H5T_PERS_HARD</code>
|
||||
(was <code>HARD</code>) and <code>H5T_PERS_SOFT</code>
|
||||
(was <code>SOFT</code>).
|
||||
<dd><code>H5Tfind</code>:
|
||||
Corrected <em>pcdata</em> parameter IN/OUT designation.
|
||||
<dt>HDF5 Tools
|
||||
<dd><code>h5dump</code>:
|
||||
Added <code>-V</code> option, which displays version information.
|
||||
|
||||
<br><br>
|
||||
<dt><b>In the <cite>HDF5 User's Guide</cite>:</b>
|
||||
<dt>The Dataset Interface (H5D)
|
||||
<dd>Removed <code>H5Pset_compression</code> and changed the example
|
||||
which used it to use <code>H5Pset_deflate</code>.
|
||||
<dt>The Datatype Interface (H5T)
|
||||
<dd><code>H5Tconvert</code>:
|
||||
Added <em>plist_id</em> parameter where this function is used in
|
||||
code examples.
|
||||
<dd>Reviewed confusing references to <cite>simple datatypes</cite>;
|
||||
where the intended meaning is <cite>atomic datatypes</cite>,
|
||||
that term is now used.
|
||||
<dt>The Attribute Interface (H5A)
|
||||
<dd><code>H5Aiterate</code>:
|
||||
Corrected function return type to <code>herr_t</code>.
|
||||
<dt>Filters in HDF5
|
||||
<dd>Added reference in Section 4 to the <code>zlib</code> website.
|
||||
<dt>Palette Specification
|
||||
<dd>This specification was moved to
|
||||
<cite>HDF5 Image and Palette Specification</cite> in the
|
||||
<cite>HDF5 Application Developer's Guide</cite>.
|
||||
|
||||
<br><br>
|
||||
<dt><b>In the <cite>Introduction to HDF5</cite>:</b>
|
||||
<dd>Reviewed confusing references to <cite>simple datatypes</cite>;
|
||||
where the intended meaning is <cite>atomic datatypes</cite>,
|
||||
that term is now used.
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
<!-- BEGIN FOOTER INFO -->
|
||||
|
||||
<P><hr>
|
||||
<font face="arial,helvetica" size="-1">
|
||||
<a href="http://www.ncsa.uiuc.edu/">
|
||||
<img border=0 src="../NCSAfooterlogo.gif" width=78 height=27 alt="NCSA Logo"><br>
|
||||
The National Center for Supercomputing Applications</A><br>
|
||||
<a href="http://www.uiuc.edu/">University of Illinois
|
||||
at Urbana-Champaign</a>
|
||||
|
||||
<p>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<!-- hhmts start -->
|
||||
<br>
|
||||
Last modified: 8 June 2000
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</font>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
130
doc/html/PSandPDF/process.txt
Normal file
@@ -0,0 +1,130 @@
|
||||
|
||||
========================================================================
|
||||
Process for Creating PDF/PS Versions of HDF5 docs from HTML Source Files
|
||||
========================================================================
|
||||
|
||||
Last modified: 19 Nov 1999
|
||||
|
||||
The PDF/PS versions of the HDF5 docs are created from scratch at each
|
||||
release from the primary version of the documentation which is
|
||||
maintained in HTML. (Assuming, of course, that we continue to produce
|
||||
PDF/PS versions.)
|
||||
|
||||
|
||||
1 Using MS Word (Framemaker might work even better, but I have not
|
||||
tried it yet), open a master file that will serve as the repository
|
||||
for gathering the document set. This file will contain all of the
|
||||
documents to be converted to PDF/PS.
|
||||
|
||||
2 Start the file off with the DocSet frontmatter.
|
||||
|
||||
3 Open each HTML file and copy it, placing it in proper order, into the
|
||||
repository file.
|
||||
|
||||
3a Insert Glossary. (For R1.2, it was appended to UG and to RM.
|
||||
Alternatively, it could be inserted as a separate document.)
|
||||
|
||||
3b Insert Copyright page after each title page, including after
|
||||
DocSet title page.
|
||||
|
||||
4 Adjust the Styles so that type faces and font sizes are appropriate.
|
||||
(I used 10 pt New Times Roman with 9 and 10 pt supplementary fonts
|
||||
in Release 1.2. I am considering Garamond or New Century Schoolbook
|
||||
for the next release.)
|
||||
|
||||
5 Create a trial PDF to make sure all of the images have been imported.
|
||||
|
||||
4a Print the compiled document, selecting "Print to file".
|
||||
|
||||
4b Change the .prn suffix on the output file to .ps.
|
||||
|
||||
4c Convert that PostScript file to PDF with Distiller.
|
||||
|
||||
6 Scan the output PDF file for images. (A visual test of the compiled
|
||||
MS Word file online is insufficient as an image's presence on the
|
||||
screen does not guarantee its presence in the PDF file.)
|
||||
|
||||
7 If any images are missing, open the appropriate HTML file in Internet
|
||||
Explorer (Netscape at the time of R1.2, did not provide this 'copy'
|
||||
capability), right click on the image, select copy, select the
|
||||
offending image or its placeholder in the MS Word file, and paste
|
||||
the image in.
|
||||
|
||||
8 Repeat 4 and 5, with variations on 6, as necessary.
|
||||
|
||||
9 Add headers, footers, and page numbers in the consolidated file.
|
||||
(NCSA and UIUC on inside of facing footers with page numbers on the
|
||||
outside, release # and doc title place holder on outside of facing
|
||||
headers. "Different first page" so that title page can be header
|
||||
and footer free.
|
||||
|
||||
10 Once you are sure that
|
||||
-- all of the images are securely showing up in the PDF and
|
||||
-- all of the styles are as you want them,
|
||||
separate the consolidated file into separate files for each document
|
||||
and for the DocSet frontmatter.
|
||||
|
||||
11 Add section break at the title page and the first page of text for
|
||||
each document.
|
||||
|
||||
12 Set page numbering and finalize headers and footers (h/f).
|
||||
|
||||
12a Unset "Different first page" on text section h/f.
|
||||
|
||||
12b Set text section page numbering to start at 1.
|
||||
|
||||
12c Set frontmatter page numbering to start at i. (R1.2 did not
|
||||
set page numbering in frontmatter.)
|
||||
|
||||
13 Reset headers and footers for each document (from the initial generic
|
||||
setting).
|
||||
|
||||
14 Check hyperlinks.
|
||||
|
||||
14a Where reasonable (e.g., not appropriate to leave as internal link
|
||||
for user instalation), set link as external with full DNS address.
|
||||
|
||||
14b Remove internal links; reword as necessary, giving user sufficient
|
||||
clues to find info in printed docs. (The links themselves do not
|
||||
survive the Word->PDF translation, so removing a link is generally
|
||||
as simple as removing the color/underline properties.)
|
||||
|
||||
15 Check and adjust pagination throughout.
|
||||
|
||||
15a Each chapter (and, in some cases, major sections) begins on an
|
||||
odd page.
|
||||
|
||||
15b Watch for widows and orphans, examples and sections that start
|
||||
embarrassingly close to the bottom of the page, etc.
|
||||
|
||||
15c Add enough blank pages (with no h/f) so that each document is
|
||||
printed with one completely blank sheet of paper at the back.
|
||||
|
||||
16 Insert a TOC into each document as appropriate. (R1.2 went 3 or 4
|
||||
levels deep, depending on the document.)
|
||||
|
||||
17 Change Tutorial "Indes of Examples" to point to directory of Tutorial
|
||||
examples (instead of individual links). Keep list?
|
||||
|
||||
18 Do a visual scan of all docs to ensure that "everything is as it
|
||||
should be." (Something has probably been left out of this process
|
||||
description!)
|
||||
|
||||
19 Create PDFs of each document and the DocSet frontmatter.
|
||||
(See above.)
|
||||
|
||||
20 Do a visual scan of all PDFs to ensure that "everything is as it
|
||||
should be."
|
||||
|
||||
21 Create a consolidated DocSet file for those who want a single file
|
||||
containing all of the doucuments.
|
||||
|
||||
22 Correct errors and repeat steps as necessary. ;>
|
||||
|
||||
23 Create distributable PS files by printing the PDFs "to a file"
|
||||
from Adobe Acrobat Exchange. (This results in mush smaller PS
|
||||
files than those generated in the above MS Word -> PS process.)
|
||||
|
||||
24 Post and distribute PS and PDF copies of
|
||||
-- each document and
|
||||
-- the consolidated set.
|
||||
BIN
doc/html/PaletteExample1.gif
Executable file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
doc/html/Palettes.fm.anc.gif
Executable file
|
After Width: | Height: | Size: 4.6 KiB |
160
doc/html/Performance.html
Normal file
@@ -0,0 +1,160 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Performance</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
Performance
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<h1>Performance Analysis and Issues</h1>
|
||||
|
||||
<h2>1. Introduction</h2>
|
||||
|
||||
<p>This section includes brief discussions of performance issues
|
||||
in HDF5 and performance analysis tools for HDF5 or pointers to
|
||||
such discussions.
|
||||
|
||||
<h2>2. Dataset Chunking</h2>
|
||||
|
||||
Appropriate dataset chunking can make a siginificant difference
|
||||
in HDF5 performance. This topic is discussed in
|
||||
<a href="Chunking.html">Dataset Chunking Issues</a> elsewhere
|
||||
in this <cite>User's Guide</cite>.
|
||||
|
||||
<h2>3. Use of the Pablo Instrumentation of HDF5</h2>
|
||||
|
||||
Pablo HDF5 Trace software provides a means of measuring the
|
||||
performance of programs using HDF5.
|
||||
|
||||
<p>The Pablo software consists
|
||||
of an instrumented copy of the HDF5 library, the Pablo Trace and
|
||||
Trace Extensions libraries, and some utilities for processing the
|
||||
output. The instrumented version of the HDF5 library has hooks
|
||||
inserted into the HDF5 code which call routines in the Pablo Trace
|
||||
library just after entry to each instrumented HDF5 routine and
|
||||
just prior to exit from the routine. The Pablo Trace Extension
|
||||
library has programs that track the I/O activity between the
|
||||
entry and exit of the HDF5 routine during execution.
|
||||
|
||||
<p>A few lines of code must be inserted in the user's main program
|
||||
to enable tracing and to specify which HDF5 procedures are to be
|
||||
traced. The program is linked with the special HDF5 and Pablo
|
||||
libraries to produce an executable. Running this executable on
|
||||
a single processor produces an output file called the trace file
|
||||
which contains records, called Pablo Self-Defining Data Format
|
||||
(SDDF) records, which can later be analyzed using the
|
||||
HDF5 Analysis Utilities. The HDF5 Analysis Utilites can be used
|
||||
to interpret the SDDF records in the trace files to produce a
|
||||
report describing the HDF5 IO activity that occurred during
|
||||
execution.
|
||||
|
||||
<p>For further instructions, see the file <code>READ_ME</code>
|
||||
in the <code> $(toplevel)/hdf5/pablo/ </code> subdirectory of
|
||||
the HDF5 source code distribution.
|
||||
|
||||
<p>For further information about Pablo and the
|
||||
Self-Defining Data Format, visit the Pablo website at
|
||||
<code><a href="http://www-pablo.cs.uiuc.edu/">http://www-pablo.cs.uiuc.edu/</a></code>.
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
Performance
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<!-- Created: Thu Oct 14 16:46:00 CDT 1999 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
Property Lists
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -137,79 +120,56 @@ And in this document, the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
Property Lists
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
<address><a href="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</a></address>
|
||||
-->
|
||||
<!-- Created: Tue Feb 10 17:06:58 PST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Tue Feb 10 17:26:41 PST 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Tue Feb 10 17:06:58 PST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5 API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -62,6 +62,7 @@ and it users.
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Library-GarbageCollect">H5garbage_collect</a>
|
||||
<li><a href="#Library-DontAtExit">H5dont_atexit</a>
|
||||
</ul>
|
||||
</td></tr>
|
||||
@@ -114,6 +115,37 @@ and it users.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Library-GarbageCollect">H5garbage_collect</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5garbage_collect</code>(<em>void</em>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Garbage collects on all free-lists of all types.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5garbage_collect</code> walks through all the garbage
|
||||
collection routines of the library, freeing any unused memory.
|
||||
<p>
|
||||
It is not required that <code>H5garbage_collect</code> be called
|
||||
at any particular time; it is only necessary in certain situations
|
||||
where the application has performed actions that cause the library
|
||||
to allocate many objects. The application should call
|
||||
<code>H5garbage_collect</code> if it eventually releases those
|
||||
objects and wants to reduce the memory used by the library from
|
||||
the peak usage required.
|
||||
<p>
|
||||
The library automatically garbage collects all the free lists
|
||||
when the application ends.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt>None.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Library-DontAtExit">H5dont_atexit</a>
|
||||
@@ -162,11 +194,11 @@ and it users.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>unsigned *</em><code>majnum</code>
|
||||
<dd>The major version of the library.
|
||||
<dd>OUT: The major version of the library.
|
||||
<dt><em>unsigned *</em><code>minnum</code>
|
||||
<dd>The minor version of the library.
|
||||
<dd>OUT: The minor version of the library.
|
||||
<dt><em>unsigned *</em><code>relnum</code>
|
||||
<dd>The release number of the library.
|
||||
<dd>OUT: The release number of the library.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -187,22 +219,25 @@ and it users.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5check_version</code> verifies that the arguments match the
|
||||
version numbers compiled into the library. This function is intended
|
||||
to be called from user to verify that the versions of header files
|
||||
compiled into the application match the version of the HDF5 library.
|
||||
to be called by the user to verify that the version of the header files
|
||||
compiled into the application matches the version of the HDF5 library
|
||||
being used.
|
||||
<p>
|
||||
Due to the risks of data corruption or segmentation faults,
|
||||
<code>H5check_version</code> causes the application to abort if the
|
||||
version numbers do not match.
|
||||
<p>
|
||||
If the version numbers of the library do not match
|
||||
the version numbers in the header files being checked, the library calls the
|
||||
standard C function <code>abort()</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>unsigned *</em><code>majnum</code>
|
||||
<dd>The major version of the library.
|
||||
<dt><em>unsigned *</em><code>minnum</code>
|
||||
<dd>The minor version of the library.
|
||||
<dt><em>unsigned *</em><code>relnum</code>
|
||||
<dd>The release number of the library.
|
||||
<dt><em>unsigned *</em><code>patnum</code>
|
||||
<dd>The patch number of the library.
|
||||
<dt><em>unsigned </em><code>majnum</code>
|
||||
<dd>IN: The major version of the library.
|
||||
<dt><em>unsigned </em><code>minnum</code>
|
||||
<dd>IN: The minor version of the library.
|
||||
<dt><em>unsigned </em><code>relnum</code>
|
||||
<dd>IN: The release number of the library.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful.
|
||||
@@ -214,9 +249,9 @@ and it users.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -248,9 +283,11 @@ H5
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 2 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5A API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -108,22 +108,28 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
<dd>Creates a dataset as an attribute of another group, dataset,
|
||||
or named datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Acreate</code> creates an attribute which is attached
|
||||
to the object specified with <code>loc_id</code>.
|
||||
<code>loc_id</code> is an identifier of a group, dataset,
|
||||
or named datatype. The name specified with <code>name</code>
|
||||
for each attribute for an object must be unique for that object.
|
||||
<dd><code>H5Acreate</code> creates an attribute named <code>name</code>
|
||||
and attached to the object specified with <code>loc_id</code>.
|
||||
<code>loc_id</code> is a group, dataset, or named datatype identifier.
|
||||
<p>
|
||||
The attribute name specified in <code>name</code> must be unique.
|
||||
Attempting to create an attribute with the same name as an already
|
||||
existing attribute will fail, leaving the pre-existing attribute
|
||||
in place. To overwrite an existing attribute with a new attribute
|
||||
of the same name, first call <code>H5Adelete</code> then recreate
|
||||
the attribute with <code>H5Acreate</code>.
|
||||
<p>
|
||||
The datatype and dataspace identifiers of the attribute,
|
||||
<code>type_id</code> and <code>space_id</code>, respectively,
|
||||
are created with the H5T and H5S interfaces, respectively.
|
||||
Currently only simple dataspaces are allowed for attribute
|
||||
dataspaces. The <code>create_plist_id</code> property list
|
||||
is currently unused, but will be used int the future for optional
|
||||
properties of attributes. The attribute identifier returned from
|
||||
this function must be released with <code>H5Aclose</code> or
|
||||
resource leaks will develop. Attempting to create an attribute
|
||||
with the same name as an already existing attribute will fail,
|
||||
leaving the pre-existing attribute in place.
|
||||
<p>
|
||||
Currently only simple dataspaces are allowed for attribute dataspaces.
|
||||
<p>
|
||||
The <code>create_plist_id</code> property list is currently unused;
|
||||
it will be used in the future for optional attribute properties.
|
||||
<p>
|
||||
The attribute identifier returned from this function must be released
|
||||
with <code>H5Aclose</code> or resource leaks will develop.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
@@ -276,7 +282,7 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
<dt><em>hid_t</em> <code>mem_type_id</code>
|
||||
<dd>IN: Identifier of the attribute datatype (in memory).
|
||||
<dt><em>void *</em><code>buf</code>
|
||||
<dd>IN: Buffer for data to be read.
|
||||
<dd>OUT: Buffer for data to be read.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -340,7 +346,7 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Annot-GetName">H5Aget_name</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hssize_t</em> <code>H5Aget_name</code>(<em>hid_t</em> <code>attr_id</code>,
|
||||
<dd><em>ssize_t</em> <code>H5Aget_name</code>(<em>hid_t</em> <code>attr_id</code>,
|
||||
<em>size_t</em> <code>buf_size</code>,
|
||||
<em>char *</em><code>buf</code>
|
||||
)
|
||||
@@ -352,7 +358,7 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
Up to <code>buf_size</code> characters are stored in
|
||||
<code>buf</code> followed by a <code>\0</code> string
|
||||
terminator. If the name of the attribute is longer than
|
||||
<code>buf_size</code> -1, the string terminator is stored in the
|
||||
<code>(buf_size -1)</code>, the string terminator is stored in the
|
||||
last position of the buffer to properly terminate the string.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
@@ -397,7 +403,7 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Annot-Iterate">H5Aiterate</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>int</em> <code>H5Aiterate</code>(<em>hid_t</em> <code>loc_id</code>,
|
||||
<dd><em>herr_t</em> <code>H5Aiterate</code>(<em>hid_t</em> <code>loc_id</code>,
|
||||
<em>unsigned *</em> <code>idx</code>,
|
||||
<em>H5A_operator_t</em> <code>op</code>,
|
||||
<em>void *</em><code>op_data</code>
|
||||
@@ -514,9 +520,9 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -548,9 +554,11 @@ H5A
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 2 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5D API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -56,19 +56,26 @@ and set and retrieve their constant or persistent properties.
|
||||
<ul>
|
||||
<li><a href="#Dataset-Create">H5Dcreate</a>
|
||||
<li><a href="#Dataset-Open">H5Dopen</a>
|
||||
<li><a href="#Dataset-GetSpace">H5Dget_space</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataset-GetType">H5Dget_type</a>
|
||||
<li><a href="#Dataset-GetCreatePlist">H5Dget_create_plist</a>
|
||||
<li><a href="#Dataset-Read">H5Dread</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataset-Write">H5Dwrite</a>
|
||||
<li><a href="#Dataset-Extend">H5Dextend</a>
|
||||
<li><a href="#Dataset-Close">H5Dclose</a>
|
||||
<li><a href="#Dataset-GetSpace">H5Dget_space</a>
|
||||
<li><a href="#Dataset-GetType">H5Dget_type</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataset-GetCreatePlist">H5Dget_create_plist</a>
|
||||
<li><a href="#Dataset-GetStorageSize">H5Dget_storage_size</a>
|
||||
<li><a href="#Dataset-GetVLBuf">H5Dget_vlen_buf_size</a>
|
||||
<li><a href="#Dataset-VLReclaim">H5Dvlen_reclaim</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataset-Read">H5Dread</a>
|
||||
<li><a href="#Dataset-Write">H5Dwrite</a>
|
||||
<li><a href="#Dataset-Iterate">H5Diterate</a>
|
||||
<!--
|
||||
<li><a href="#Dataset-Debug">H5Ddebug</a>
|
||||
-->
|
||||
<li><a href="#Dataset-Extend">H5Dextend</a>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
@@ -80,9 +87,9 @@ and set and retrieve their constant or persistent properties.
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t </em><code>H5Dcreate</code>(<em>hid_t </em><code>loc_id</code>,
|
||||
<em>const char *</em><code>name</code>,
|
||||
<em>hid_t</em><code>type_id</code>,
|
||||
<em>hid_t</em><code>space_id</code>,
|
||||
<em>hid_t</em><code>create_plist_id</code>
|
||||
<em>hid_t</em> <code>type_id</code>,
|
||||
<em>hid_t</em> <code>space_id</code>,
|
||||
<em>hid_t</em> <code>create_plist_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Creates a dataset at the specified location.
|
||||
@@ -98,6 +105,11 @@ and set and retrieve their constant or persistent properties.
|
||||
Dataset creation properties are specified by the argument
|
||||
<code>create_plist_id</code>.
|
||||
<p>
|
||||
Dataset names within a group are unique:
|
||||
<code>H5Dcreate</code> will return an error if a dataset with
|
||||
the name specified in <code>name</code> already exists at the
|
||||
location specified in <code>loc_id</code>.
|
||||
<p>
|
||||
<code>create_plist_id</code> is a <code>H5P_DATASET_CREATE</code>
|
||||
property list created with <code>H5Pcreate()</code> and
|
||||
initialized with the various functions described above.
|
||||
@@ -140,8 +152,7 @@ and set and retrieve their constant or persistent properties.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
<dd>Identifier of the dataset to open or the file or group
|
||||
to access the dataset within.
|
||||
<dd>Identifier of the file or group to access the dataset within.
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>The name of the dataset to access.
|
||||
</dl>
|
||||
@@ -228,6 +239,115 @@ and set and retrieve their constant or persistent properties.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-GetStorageSize">H5Dget_storage_size</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hsize_t </em><code>H5Dget_storage_size</code>(<em>hid_t </em><code>dataset_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the amount of storage required for a dataset.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Dget_storage_size</code> returns the amount of storage
|
||||
that is required for the specified dataset, <code>dataset_id</code>.
|
||||
For chunked datasets, this is the number of allocated chunks times
|
||||
the chunk size.
|
||||
The return value may be zero if no data has been stored.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>dataset_id</code>
|
||||
<dd>Identifier of the dataset to query.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the amount of storage space allocated for the dataset,
|
||||
not counting meta data;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-GetVLBuf">H5Dget_vlen_buf_size</a>
|
||||
<i><b>(Not yet implemented.)</b></i>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Dget_vlen_buf_size</code>(<em>hid_t </em><code>dataset_id</code>,
|
||||
<em>hid_t</em> <code>type_id</code>,
|
||||
<em>hid_t</em> <code>space_id</code>,
|
||||
<em>hsize_t</em> *<code>size</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines the number of bytes required to store VL data.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Dget_vlen_buf_size</code> determines the number of bytes
|
||||
required to store the VL data from the dataset, using the
|
||||
<code>space_id</code> for the selection in the dataset on
|
||||
disk and the <code>type_id</code> for the memory representation
|
||||
of the VL data in memory.
|
||||
<p>
|
||||
<code>*size</code> is returned with the number of bytes are
|
||||
required to store the VL data in memory.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>dataset_id</code>
|
||||
<dd>Identifier of the dataset to query.
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Identifier of the datatype.
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>Identifier of the dataspace.
|
||||
<dt><em>hsize_t</em> *<code>size</code>
|
||||
<dd>The size in bytes of the buffer required to store the VL data.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-VLReclaim">H5Dvlen_reclaim</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Dvlen_reclaim</code>(<em>hid_t </em><code>type_id</code>,
|
||||
<em>hid_t</em> <code>space_id</code>,
|
||||
<em>hid_t</em> <code>plist_id</code>,
|
||||
<em>void</em> *<code>buf</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Reclaims VL datatype memory buffers.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Dvlen_reclaim</code> reclaims memory buffers created to
|
||||
store VL datatypes.
|
||||
<p>
|
||||
The <code>type_id</code> must be the datatype stored in the buffer.
|
||||
The <code>space_id</code> describes the selection for the memory buffer
|
||||
to free the VL datatypes within.
|
||||
The <code>plist_id</code> is the dataset transfer property list which
|
||||
was used for the I/O transfer to create the buffer.
|
||||
And <code>buf</code> is the pointer to the buffer to be reclaimed.
|
||||
<p>
|
||||
The VL structures (<code>hvl_t</code>) in the user's buffer are
|
||||
modified to zero out the VL information after the memory has been reclaimed.
|
||||
<p>
|
||||
If nested VL datatypes were used to create the buffer,
|
||||
this routine frees them <em>from the bottom up</em>, releasing all
|
||||
the memory without creating memory leaks.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Identifier of the datatype.
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>Identifier of the dataspace.
|
||||
<dt><em>hid_t</em> <code>plist_id</code>
|
||||
<dd>Identifier of the property list used to create the buffer.
|
||||
<dt><em>void</em> *<code>buf</code>
|
||||
<dd>Pointer to the buffer to be reclaimed.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-Read">H5Dread</a>
|
||||
@@ -398,10 +518,10 @@ and set and retrieve their constant or persistent properties.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code>
|
||||
<dd><em>herr_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>
|
||||
<dd>Closes the specified dataset.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Dclose</code> ends access to a dataset specified by
|
||||
<code>dataset_id</code> and releases resources used by it.
|
||||
@@ -418,13 +538,63 @@ and set and retrieve their constant or persistent properties.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataset-Iterate">H5Diterate</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Diterate</code>(
|
||||
<em>void *</em><code>buf</code>,
|
||||
<em>hid_t </em><code>type_id</code>,
|
||||
<em>hid_t </em><code>space_id</code>,
|
||||
<em>H5D_operator_t </em><code>operator</code>,
|
||||
<em>void *</em><code>operator_data</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Iterates over all selected elements in a dataspace.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Diterate</code> iterates over all the elements selected
|
||||
in a memory buffer. The callback function is called once for each
|
||||
element selected in the dataspace.
|
||||
<p>
|
||||
The selection in the dataspace is modified so that any elements
|
||||
already iterated over are removed from the selection if the
|
||||
iteration is interrupted (by the <code>H5D_operator_t</code>
|
||||
function returning non-zero) before the iteration is complete;
|
||||
the iteration may then be re-started by the user where it left off.
|
||||
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>void *</em><code>buf</code>
|
||||
<dd>IN/OUT: Pointer to the buffer in memory containing the
|
||||
elements to iterate over.
|
||||
<dt><em>hid_t </em><code>type_id</code>
|
||||
<dd>IN: Datatype identifier for the elements stored in
|
||||
<code>buf</code>.
|
||||
<dt><em>hid_t </em><code>space_id</code>
|
||||
<dd>IN: Dataspace identifier for <code>buf</code>.
|
||||
Also contains the selection to iterate over.
|
||||
<dt><em>H5D_operator_t </em><code>operator</code>
|
||||
<dd>IN: Function pointer to the routine to be called
|
||||
for each element in <code>buf</code> iterated over.
|
||||
<dt><em>void *</em><code>operator_data</code>
|
||||
<dd>IN/OUT: Pointer to any user-defined data associated
|
||||
with the operation.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the return value of the last operator if it was non-zero,
|
||||
or zero if all elements have been processed.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -456,9 +626,11 @@ H5D
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 7 April 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5E API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -244,6 +244,32 @@ errors within the H5E package.
|
||||
regardless of stack traversal direction), an error stack entry,
|
||||
and the <code>client_data</code> pointer passed to
|
||||
<code>H5E_print</code>.
|
||||
The <code>H5E_walk_t</code> prototype is as follows:
|
||||
|
||||
<dir>
|
||||
<p>
|
||||
<code>typedef</code> <em>herr_t</em> <code>(*H5E_walk_t)(</code><em>int</em> <code>n,</code>
|
||||
<em>H5E_error_t *</em><code>err_desc,</code>
|
||||
<em>void *</em><code>client_data)</code>
|
||||
<p>
|
||||
where the parameters have the following meanings:
|
||||
<dl>
|
||||
<dt><em>int</em> <code>n</code>
|
||||
<dd>Indexed position of the error in the stack.
|
||||
<dt><em>H5E_error_t *</em><code>err_desc</code>
|
||||
<dd>Pointer to a data structure describing the error.
|
||||
<em>(This structure is currently described only in the
|
||||
source code file </em><code>hdf5/src/H5Epublic.h</code><em>.
|
||||
That file also contains the definitive list of major
|
||||
and minor error codes. That information will
|
||||
eventually be presented as an appendix to this
|
||||
<cite>Reference Manual</cite>.)</em>
|
||||
<dt><em>void *</em><code>client_data</code>
|
||||
<dd>Pointer to client data in the format expected by
|
||||
the user-defined function.
|
||||
</dl>
|
||||
</dir>
|
||||
|
||||
<p>
|
||||
<code>H5Ewalk</code> can fail if there are problems initializing
|
||||
the library.
|
||||
@@ -358,9 +384,9 @@ errors within the H5E package.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -392,9 +418,11 @@ H5E
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 7 April 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5F API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -55,17 +55,17 @@ documented below.
|
||||
<table border=0>
|
||||
<tr><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#File-Open">H5Fopen</a>
|
||||
<li><a href="#File-Create">H5Fcreate</a>
|
||||
<li><a href="#File-IsHDF5">H5Fis_hdf5</a>
|
||||
<li><a href="#File-Open">H5Fopen</a>
|
||||
<li><a href="#File-Reopen">H5Freopen</a>
|
||||
<li><a href="#File-Close">H5Fclose</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#File-Flush">H5Fflush</a>
|
||||
<li><a href="#File-Close">H5Fclose</a>
|
||||
<li><a href="#File-IsHDF5">H5Fis_hdf5</a>
|
||||
<li><a href="#File-Mount">H5Fmount</a>
|
||||
<li><a href="#File-Unmount">H5Funmount</a>
|
||||
<li><a href="#File-Reopen">H5Freopen</a>
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
@@ -115,10 +115,25 @@ documented below.
|
||||
<dt><em>const char *</em><code>name</code>
|
||||
<dd>Name of the file to access.
|
||||
<dt><em>unsigned</em> <code>flags</code>
|
||||
<dd>File access flags. See the <code>H5Fcreate</code>
|
||||
parameters list for a list of possible values.
|
||||
<dd>File access flags. Allowable values are:
|
||||
<ul><dl>
|
||||
<dt>H5F_ACC_RDWR
|
||||
<dd>Allow read and write access to file.
|
||||
<dt>H5F_ACC_RDONLY
|
||||
<dd>Allow read-only access to file.
|
||||
</dl></ul>
|
||||
<li><code>H5F_ACC_RDWR</code> and <code>H5F_ACC_RDONLY</code>
|
||||
are mutually exclusive; use exactly one.
|
||||
<li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints debug
|
||||
information. This flag is used only by HDF5 library
|
||||
developers; it is neither tested nor supported
|
||||
for use in applications.
|
||||
<dt><em>hid_t</em> <code>access_id</code>
|
||||
<dd>Identifier for the file access properties list.
|
||||
If parallel file access is desired, this is a collective
|
||||
call according to the communicator stored in the
|
||||
<code>access_id</code>.
|
||||
Use <code>H5P_DEFAULT</code> for default file access properties.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a file identifier if successful;
|
||||
@@ -151,38 +166,36 @@ documented below.
|
||||
are controlled through the file-creation and file-access
|
||||
property lists. The value of <code>H5P_DEFAULT</code> for
|
||||
a property list value indicates that the library should use
|
||||
the default values for the appropriate property list. Also see
|
||||
<code>H5Fpublic.h</code> for the list of supported flags.
|
||||
the default values for the appropriate property list.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>const char *</em><code>name</code>
|
||||
<dd>Name of the file to access.
|
||||
<dt><em>uintn</em> <code>flags</code>
|
||||
<dd>File access flags. Possible values include:
|
||||
<dd>File access flags. Allowable values are:
|
||||
<ul><dl>
|
||||
<dt>H5F_ACC_RDWR
|
||||
<dd>Allow read and write access to file.
|
||||
<dt>H5F_ACC_RDONLY
|
||||
<dd>Allow read-only access to file.
|
||||
<dt>H5F_ACC_TRUNC
|
||||
<dd>Truncate file, if it already exists,
|
||||
erasing all data previously stored in the file.
|
||||
<dt>H5F_ACC_EXCL
|
||||
<dd>Fail if file already exists.
|
||||
<dt>H5F_ACC_DEBUG
|
||||
<dd>Print debug information.
|
||||
<dt>H5P_DEFAULT
|
||||
<dd>Apply default file access and creation properties.
|
||||
</dl></ul>
|
||||
<li><code>H5F_ACC_TRUNC</code> and <code>H5F_ACC_EXCL</code>
|
||||
are mutually exclusive; use exactly one.
|
||||
<li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints debug
|
||||
information. This flag is used only by HDF5 library
|
||||
developers; it is neither tested nor supported
|
||||
for use in applications.
|
||||
<dt><em>hid_t</em> <code>create_id</code>
|
||||
<dd>File creation property list identifier, used when modifying
|
||||
default file meta-data.
|
||||
Use <code>H5P_DEFAULT</code> for default file creation properties.
|
||||
<dt><em>hid_t</em> <code>access_id</code>
|
||||
<dd>File access property list identifier.
|
||||
If parallel file access is desired, this is a collective
|
||||
call according to the communicator stored in the
|
||||
<code>access_id</code>.
|
||||
Use <code>0</code> for default access properties.
|
||||
Use <code>H5P_DEFAULT</code> for default file access properties.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a file identifier if successful;
|
||||
@@ -222,7 +235,7 @@ documented below.
|
||||
</center>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>const char *</em><code>object_id</code>
|
||||
<dt><em>hid_t </em><code>object_id</code>
|
||||
<dd>Identifier of object used to identify the file.
|
||||
<dt><em>H5F_scope_t</em> <code>scope</code>
|
||||
<dd>Specifies the scope of the flushing action.
|
||||
@@ -237,7 +250,7 @@ documented below.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hbool_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code>
|
||||
<dd><em>htri_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines whether a file is in the HDF5 format.
|
||||
@@ -250,7 +263,8 @@ documented below.
|
||||
<dd>File name to check format.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns <code>TRUE</code> or <code>FALSE</code> if successful.
|
||||
<dd>When successful, returns a positive value, for <code>TRUE</code>,
|
||||
or <code>0</code> (zero), for <code>FALSE</code>.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
@@ -326,9 +340,19 @@ documented below.
|
||||
<dd>Terminates access to an HDF5 file.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Fclose</code> terminates access to an HDF5 file.
|
||||
If this is the last file identifier open for a file
|
||||
and if access identifiers are still in use,
|
||||
this function will fail.
|
||||
<p>
|
||||
If this is the last file identifier open for the file
|
||||
and no other access identifier is open (e.g., a dataset
|
||||
identifier, group identifier, or shared datatype identifier),
|
||||
the file will be fully closed and access will end.
|
||||
<p>
|
||||
If this is the last file identifier open for the file
|
||||
and other access identifiers are still in use,
|
||||
those access identifiers remain valid until separately
|
||||
closed and can still be used.
|
||||
(But the file identifier is no longer valid and cannot be used.)
|
||||
Once all of the remaining access identifiers are closed,
|
||||
the file will be fully closed and access will end.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>file_id</code>
|
||||
@@ -357,8 +381,8 @@ documented below.
|
||||
<code>loc_id</code> and <code>name</code> using
|
||||
the mount properties <code>plist_id</code>.
|
||||
<p>
|
||||
Note that <code>loc_id</code> identifies a file or group.
|
||||
<code>name</code> then specifies a group relative to <code>loc_id</code>.
|
||||
Note that <code>loc_id</code> is either a file or group identifier
|
||||
and <code>name</code> is relative to <code>loc_id</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
@@ -394,19 +418,22 @@ documented below.
|
||||
from the file mounted there. This function
|
||||
does not close either file.
|
||||
<p>
|
||||
The mount point can either be the group in the
|
||||
The mount point can be either the group in the
|
||||
parent or the root group of the mounted file
|
||||
(both groups have the same name). If the mount
|
||||
point was opened before the mount then it is the
|
||||
group in the parent; if it was opened after the
|
||||
mount then it is the root group of the child.
|
||||
<p>
|
||||
Note that <code>loc_id</code> is either a file or group identifier
|
||||
and <code>name</code> is relative to <code>loc_id</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
<dd>The file or group identifier for the location at which
|
||||
the specified file is to be unmounted.
|
||||
<dt><em>const char *</em><code>name</code>
|
||||
<dd>The name of the file to be unmounted.
|
||||
<dd>The name of the mount point.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -418,22 +445,32 @@ documented below.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="File-Reopen">H5Freopen</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid__t </em><code>H5Freopen</code>(<em>hid_t</em> <code>file_id</code>
|
||||
<dd><em>hid_t </em><code>H5Freopen</code>(<em>hid_t</em> <code>file_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Reopens an HDF5 file.
|
||||
<dd>Returns a new identifier for a previously-opened HDF5 file.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Freopen</code> reopens an HDF5 file. The new
|
||||
file identifier which is returned points to the same file
|
||||
as the specified file idetifier, <code>file_id</code>.
|
||||
<dd><code>H5Freopen</code> returns a new file identifier for an
|
||||
already-open HDF5 file, as specified by <code>file_id</code>.
|
||||
Both identifiers share caches and other information.
|
||||
The only difference between the identifiers is that the
|
||||
new identifier is not mounted anywhere and no files are
|
||||
mounted on it.
|
||||
<p>
|
||||
Note that there is no circumstance under which
|
||||
<code>H5Freopen</code> can actually open a closed file;
|
||||
the file must already be open and have an active
|
||||
<code>file_id</code>. E.g., one cannot close a file with
|
||||
<code> H5Fclose (file_id) </code> then use
|
||||
<code> H5Freopen (file_id) </code> to reopen it.
|
||||
<p>
|
||||
The new file identifier should be closed by calling
|
||||
<code>H5Fclose()</code> when it is no longer needed.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>file_id</code>
|
||||
<dd>Identifier of a file to terminate access to.
|
||||
<dd>Identifier of a file for which an additional identifier
|
||||
is required.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a new file identifier if successful;
|
||||
@@ -445,9 +482,9 @@ documented below.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -479,9 +516,11 @@ H5F
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 2 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -8,10 +8,10 @@ HDF5 API Specification
|
||||
<hr>
|
||||
<center>
|
||||
<table cellspacing=0 cellpadding=0 border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<tr><td valign=top aliOther gn=left>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -46,12 +46,16 @@ HDF5 Reference Manual
|
||||
<center>
|
||||
<h1>HDF5: API Specification<br>Reference Manual</h1>
|
||||
</center>
|
||||
The HDF5 library provides several interfaces, each of which provides the
|
||||
tools required to meet specific aspects of the HDF5 data-handling requirements.
|
||||
|
||||
<center>
|
||||
<table border=0>
|
||||
<table border=0 width=85%>
|
||||
|
||||
<tr><td valign=top colspan=3>
|
||||
The HDF5 library provides several interfaces, each of which provides the
|
||||
tools required to meet specific aspects of the HDF5 data-handling requirements.
|
||||
<br>
|
||||
<br>
|
||||
</td></tr>
|
||||
<tr><td valign=top><a href="RM_H5.html">Library Functions</a>
|
||||
</td><td> </td><td valign=top>The general-purpose <strong>H5</strong> functions.
|
||||
</td></tr>
|
||||
@@ -104,15 +108,15 @@ tools required to meet specific aspects of the HDF5 data-handling requirements.
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -149,10 +153,12 @@ HDF5 Reference Manual
|
||||
<tr><td align=left valign=top>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<br>
|
||||
Last modified: 26 April 1999
|
||||
Last modified: 2 June 2000
|
||||
|
||||
</td><td align=right valign=top>
|
||||
<a href="Copyright.html">Copyright</a>
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5G API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -295,7 +295,7 @@ create or access function.
|
||||
<dd><em>int</em> <code>H5Giterate</code>(<em>hid_t</em> <code>loc_id</code>,
|
||||
<em>const char</em> <code>*name</code>,
|
||||
<em>int</em> <code>*idx</code>,
|
||||
<em>H5G_operator_t</em> <code>operator</code>,
|
||||
<em>H5G_iterate_t</em> <code>operator</code>,
|
||||
<em>void</em> <code>*operator_data</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
@@ -315,10 +315,11 @@ create or access function.
|
||||
cannot be restarted if one of the calls to its operator returns
|
||||
non-zero.
|
||||
<p>
|
||||
The prototype for <code>H5G_operator_t</code> is:
|
||||
The prototype for <code>H5G_iterate_t</code> is:
|
||||
<ul><dl>
|
||||
<dd><code>typedef</code> <em>herr_t *</em>(<code>H5G_operator_t</code>)(<em>hid_t</em> <code>group_id</code>,
|
||||
<em>const char *</em><code>member_name</code>, <em>void *</em><code>operator_data/*in,out*/</code>);
|
||||
<dd><code>typedef</code> <em>herr_t </em>(*<code>H5G_iterate_t</code>)(<em>hid_t</em> <code>group_id</code>,
|
||||
<em>const char *</em><code>member_name</code>,
|
||||
<em>void *</em><code>operator_data</code>);
|
||||
</dl></ul>
|
||||
<dd>The operation receives the group identifier for the group being
|
||||
iterated over, <code>group_id</code>, the name of the current
|
||||
@@ -337,6 +338,11 @@ create or access function.
|
||||
indicating failure. The iterator can be restarted at the next
|
||||
group member.
|
||||
</ul>
|
||||
<p>
|
||||
<code>H5Giterate</code> assumes that the membership of the group
|
||||
identified by <code>name</code> remains unchanged through the
|
||||
iteration. If the membership changes during the iteration,
|
||||
the function's behavior is undefined.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
@@ -422,7 +428,7 @@ create or access function.
|
||||
unsigned long fileno[2];
|
||||
unsigned long objno[2];
|
||||
unsigned nlink;
|
||||
H5G_type_t type;
|
||||
int type;
|
||||
time_t mtime;
|
||||
size_t linklen;
|
||||
} H5G_stat_t
|
||||
@@ -607,9 +613,9 @@ create or access function.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -641,9 +647,11 @@ H5G
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 17 December 1999
|
||||
<br>
|
||||
Last modified: 26 April 1999
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5I API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -120,9 +120,9 @@ This function provides a tool for working with object identifiers.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -154,9 +154,11 @@ H5I
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5P API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -50,7 +50,6 @@ H5P
|
||||
These functions manipulate property list objects to allow objects which require
|
||||
many different parameters to be easily manipulated.
|
||||
|
||||
<dir>
|
||||
<table border=0>
|
||||
<tr><td valign=top>
|
||||
|
||||
@@ -74,11 +73,12 @@ many different parameters to be easily manipulated.
|
||||
<li><a href="#Property-SetIstoreK">H5Pset_istore_k</a>
|
||||
<li><a href="#Property-GetIstoreK">H5Pget_istore_k</a>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
|| <i>Available only in the
|
||||
<br>
|
||||
parallel HDF5 library.</i>
|
||||
|
||||
<p><i>Variable-length Datatype Properties</i>
|
||||
<ul>
|
||||
<li><a href="#Property-SetVLMemManager">H5Pset_vlen_mem_manager</a>
|
||||
<li><a href="#Property-GetVLMemManager">H5Pget_vlen_mem_manager</a>
|
||||
</ul>
|
||||
|
||||
</td><td> </td><td valign=top>
|
||||
|
||||
@@ -95,14 +95,28 @@ parallel HDF5 library.</i>
|
||||
<li><a href="#Property-GetCore">H5Pget_core</a>
|
||||
<li><a href="#Property-SetMPI">H5Pset_mpi</a> ||
|
||||
<li><a href="#Property-GetMPI">H5Pget_mpi</a> ||
|
||||
<!-- Not implemented. Probably never will be.
|
||||
<li><a href="#Property-SetFamily">H5Pset_family</a>
|
||||
<li><a href="#Property-GetFamily">H5Pget_family</a>
|
||||
-->
|
||||
<li><a href="#Property-SetCache">H5Pset_cache</a>
|
||||
<li><a href="#Property-GetCache">H5Pget_cache</a>
|
||||
<li><a href="#Property-SetSplit">H5Pset_split</a>
|
||||
<li><a href="#Property-GetSplit">H5Pget_split</a>
|
||||
<li><a href="#Property-SetGCReferences">H5Pset_gc_references</a>
|
||||
<li><a href="#Property-GetGCReferences">H5Pget_gc_references</a>
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|| <i>Available only in the
|
||||
parallel HDF5 library.</i>
|
||||
|
||||
</td><td> </td><td valign=top>
|
||||
|
||||
<i>Dataset Creation Properties</i>
|
||||
@@ -133,6 +147,10 @@ parallel HDF5 library.</i>
|
||||
<li><a href="#Property-GetBuffer">H5Pget_buffer</a>
|
||||
<li><a href="#Property-SetPreserve">H5Pset_preserve</a>
|
||||
<li><a href="#Property-GetPreserve">H5Pget_preserve</a>
|
||||
<li><a href="#Property-SetHyperCache">H5Pset_hyper_cache</a>
|
||||
<li><a href="#Property-GetHyperCache">H5Pget_hyper_cache</a>
|
||||
<li><a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a>
|
||||
<li><a href="#Property-GetBTreeRatios">H5Pget_btree_ratios</a>
|
||||
<li><a href="#Property-SetXfer">H5Pset_xfer</a> ||
|
||||
<li><a href="#Property-GetXfer">H5Pget_xfer</a> ||
|
||||
</ul>
|
||||
@@ -147,7 +165,6 @@ parallel HDF5 library.</i>
|
||||
-->
|
||||
|
||||
</table>
|
||||
</dir
|
||||
|
||||
|
||||
<hr>
|
||||
@@ -430,7 +447,7 @@ parallel HDF5 library.</i>
|
||||
<em>MPI_Info</em> <code>info</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves the access mode for parallel I/O and the user supplied
|
||||
<dd>Sets the access mode for parallel I/O and the user supplied
|
||||
communicator and info object.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_mpi</code> stores the access mode for MPIO call and the user supplied
|
||||
@@ -440,7 +457,7 @@ parallel HDF5 library.</i>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier of property list to modify
|
||||
<dd>IN: Identifier of property list to modify.
|
||||
<dt><em>MPI_Comm</em> <code>comm</code>
|
||||
<dd>IN: MPI communicator to be used for file open as defined in
|
||||
MPI_FILE_OPEN of MPI-2. This function does not make a
|
||||
@@ -713,7 +730,7 @@ parallel HDF5 library.</i>
|
||||
This function is only valid for dataset creation property lists.
|
||||
Valid parameters for <code>layout</code> are:
|
||||
<ul><dl>
|
||||
<dt>H5D_COMPACT
|
||||
<dt>H5D_COMPACT <i><b>(Not yet implemented.)</b></i>
|
||||
<dd>Store raw data and object header contiguously in file.
|
||||
This should only be used for very small amounts of raw
|
||||
data (suggested less than 1KB).
|
||||
@@ -750,7 +767,7 @@ parallel HDF5 library.</i>
|
||||
a dataset. This function is only valid for dataset creation
|
||||
property lists. Valid types for <code>layout</code> are:
|
||||
<ul> <dl>
|
||||
<dt>H5D_COMPACT
|
||||
<dt>H5D_COMPACT <i><b>(Not yet implemented.)</b></i>
|
||||
<dd>Raw data and object header stored contiguously in file.
|
||||
<dt>H5D_CONTIGUOUS
|
||||
<dd>Raw data stored separately from object header in one
|
||||
@@ -827,7 +844,7 @@ parallel HDF5 library.</i>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier of property list to query.
|
||||
<dt><em>int</em> <code>max_ndims</code>
|
||||
<dd>OUT: Size of the <code>dims</code> array.
|
||||
<dd>IN: Size of the <code>dims</code> array.
|
||||
<dt><em>hsize_t *</em> <code>dims</code>
|
||||
<dd>OUT: Array to store the chunk dimensions.
|
||||
</dl>
|
||||
@@ -850,14 +867,16 @@ parallel HDF5 library.</i>
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_alignment</code> sets the alignment properties
|
||||
of a file access property list
|
||||
so that any file object >= THRESHOLD bytes will be aligned on
|
||||
an address which is a multiple of ALIGNMENT. The addresses
|
||||
so that any file object greater or equal in size to
|
||||
<code>threshold</code> bytes will be aligned on an address
|
||||
which is a multiple of <code>alignment</code>. The addresses
|
||||
are relative to the end of the user block; the alignment is
|
||||
calculated by subtracting the user block size from the
|
||||
absolute file address and then adjusting the address to be a
|
||||
multiple of ALIGNMENT.
|
||||
multiple of <code>alignment</code>.
|
||||
<p>
|
||||
Default values for THRESHOLD and ALIGNMENT are one, implying
|
||||
Default values for <code>threshold</code> and
|
||||
<code>alignment</code> are one, implying
|
||||
no alignment. Generally the default values will result in
|
||||
the best performance for single-process access to the file.
|
||||
For MPI-IO and other parallel systems, choose an alignment
|
||||
@@ -868,8 +887,13 @@ parallel HDF5 library.</i>
|
||||
<dd>IN: Identifier for a file access property list.
|
||||
<dt><em>hsize_t</em> <code>threshold</code>
|
||||
<dd>IN: Threshold value.
|
||||
Must be non-negative.
|
||||
Note that setting the threshold value to 0 (zero) has
|
||||
the effect of a special case, forcing everything
|
||||
to be aligned.
|
||||
<dt><em>hsize_t</em> <code>alignment</code>
|
||||
<dd>IN: Alignment value.
|
||||
Must be a positive value.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -925,10 +949,16 @@ parallel HDF5 library.</i>
|
||||
<p>
|
||||
If a dataset is split across multiple files then the files
|
||||
should be defined in order. The total size of the dataset is
|
||||
the sum of the SIZE arguments for all the external files. If
|
||||
the sum of the <code>size</code> arguments for all the external files. If
|
||||
the total size is larger than the size of a dataset then the
|
||||
dataset can be extended (provided the data space also allows
|
||||
the extending).
|
||||
<p>
|
||||
The <code>size</code> argument specifies number of bytes reserved
|
||||
for data in the external file.
|
||||
If <code>size</code> is set to <code>H5F_UNLIMITED</code>, the
|
||||
external file can be of unlimited size and no more files can be added to
|
||||
the external files list.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
@@ -951,7 +981,7 @@ parallel HDF5 library.</i>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetExternalCount">H5Pget_external_count</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>int</em> <code>H5Pget_external_count</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<dd><em>int</em> <code>H5Pget_external_count</code>(<em>hid_t</em> <code>plist</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the number of external files for a dataset.
|
||||
@@ -1162,7 +1192,7 @@ parallel HDF5 library.</i>
|
||||
<dd>IN: Bit vector specifying certain general properties
|
||||
of the filter.
|
||||
<dt><em>size_t</em> <code>cd_nelmts</code>
|
||||
<dd>IN: Number of elements in <code>cd_values</code>
|
||||
<dd>IN: Number of elements in <code>cd_values</code>.
|
||||
<dt><em>const unsigned int</em> <code>cd_values[]</code>
|
||||
<dd>IN: Auxiliary data for the filter.
|
||||
</dl>
|
||||
@@ -1268,7 +1298,7 @@ parallel HDF5 library.</i>
|
||||
<dd>OUT: Bit vector specifying certain general properties
|
||||
of the filter.
|
||||
<dt><em>size_t *</em><code>cd_nelmts</code>
|
||||
<dd>IN/OUT: Number of elements in <code>cd_values</code>
|
||||
<dd>IN/OUT: Number of elements in <code>cd_values</code>.
|
||||
<dt><em>unsigned int *</em><code>cd_values</code>
|
||||
<dd>OUT: Auxiliary data for the filter.
|
||||
<dt><em>size_t</em> <code>namelen</code>
|
||||
@@ -1286,7 +1316,7 @@ parallel HDF5 library.</i>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetDriver">H5Pget_driver</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>H5F_driver_t</em> <code>H5Pget_driver</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<dd><em>H5F_driver_t</em> <code>H5Pget_driver</code>(<em>hid_t</em> <code>plist</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns a low-level file driver identifier.
|
||||
@@ -1364,7 +1394,7 @@ parallel HDF5 library.</i>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetSec2">H5Pset_sec2</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_sec2</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<dd><em>herr_t</em> <code>H5Pset_sec2</code>(<em>hid_t</em> <code>plist</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets the low-level file driver to use the declared functions.
|
||||
@@ -1388,7 +1418,7 @@ parallel HDF5 library.</i>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetSec2">H5Pget_sec2</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>returntype</em> <code>H5Pget_sec2</code>(<em>hid_t</em> <code>plist</code>)
|
||||
<dd><em>herr_t</em> <code>H5Pget_sec2</code>(<em>hid_t</em> <code>plist</code>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Checks whether the file access property list is set
|
||||
to the sec2 driver.
|
||||
@@ -1424,7 +1454,7 @@ parallel HDF5 library.</i>
|
||||
This driver is restricted to temporary files which are not
|
||||
larger than the amount of virtual memory available.
|
||||
The <code>increment</code> argument determines the file block size
|
||||
and memory will be allocated in multiples of INCREMENT bytes.
|
||||
and memory will be allocated in multiples of <code>increment</code> bytes.
|
||||
A liberal <code>increment</code> results in fewer calls to
|
||||
<code>realloc()</code> and probably less memory fragmentation.
|
||||
<dt><strong>Parameters:</strong>
|
||||
@@ -1433,6 +1463,7 @@ parallel HDF5 library.</i>
|
||||
<dd>IN: Identifier of a file access property list.
|
||||
<dt><em>size_t</em> <code>increment</code>
|
||||
<dd>IN: File block size in bytes.
|
||||
Must be a positive value.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -1442,7 +1473,7 @@ parallel HDF5 library.</i>
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetCore"></a>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetCore">H5Pget_core</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_core</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>size_t</em> <code>*increment</code>
|
||||
@@ -1489,11 +1520,11 @@ parallel HDF5 library.</i>
|
||||
raw data in another file. The meta file will have a name
|
||||
which is formed by adding <em>meta_extension</em> (recommended
|
||||
default value: <code>.meta</code>) to the end of the base name
|
||||
and will be accessed according to the <em>meta_properties</em>.
|
||||
and will be accessed according to the <em>meta_plist</em>.
|
||||
The raw file will have a name which is formed by appending
|
||||
<em>raw_extension</em> (recommended default value:
|
||||
<code>.raw</code>) to the base name and will be accessed according
|
||||
to the <em>raw_properties</em>.
|
||||
to the <em>raw_plist</em>.
|
||||
Additional parameters may be added to this function in the future.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
@@ -1523,10 +1554,10 @@ parallel HDF5 library.</i>
|
||||
<dd><em>herr_t</em> <code>H5Pget_split</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>size_t</em> <code>meta_ext_size</code>,
|
||||
<em>char</em> <code>*meta_ext</code>,
|
||||
<em>hid_t</em> <code>*meta_properties</code>,
|
||||
<em>hid_t</em> <code>*meta_plist</code>,
|
||||
<em>size_t</em> <code>raw_ext_size</code>,
|
||||
<em>char</em> <code>*raw_ext</code>,
|
||||
<em>hid_t</em> <code>*raw_properties</code>
|
||||
<em>hid_t</em> <code>*raw_plist</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines whether the file access property list is set
|
||||
@@ -1535,7 +1566,7 @@ parallel HDF5 library.</i>
|
||||
<dd><code>H5Pget_split</code> checks to determine whether the file
|
||||
access property list is set to the split driver.
|
||||
On successful return,
|
||||
<code>meta_properties</code> and <code>raw_properties</code> will
|
||||
<code>meta_plist</code> and <code>raw_plist</code> will
|
||||
point to copies of the meta and raw access property lists
|
||||
which should be closed by calling <code>H5Pclose()</code> when
|
||||
the application is finished with them, but if the meta and/or
|
||||
@@ -1557,16 +1588,16 @@ parallel HDF5 library.</i>
|
||||
<dt><em>size_t</em> <code>meta_ext_size</code>
|
||||
<dd>IN: Number of characters of the meta file extension to be
|
||||
copied to the <code>meta_ext</code> buffer.
|
||||
<dt><em>OUT</em> <code>*meta_ext</code>
|
||||
<dd>IN: Meta file extension.
|
||||
<dt><em>hid_t</em> <code>*meta_properties</code>
|
||||
<dt><em>char</em> <code>*meta_ext</code>
|
||||
<dd>OUT: Meta file extension.
|
||||
<dt><em>hid_t</em> <code>*meta_plist</code>
|
||||
<dd>OUT: Pointer to a copy of the meta file access property list.
|
||||
<dt><em>size_t</em> <code>raw_ext_size</code>
|
||||
<dd>IN: Number of characters of the raw file extension to be
|
||||
copied to the <code>raw_ext</code> buffer.
|
||||
<dt><em>char</em> <code>*raw_ext</code>
|
||||
<dd>OUT: Raw file extension.
|
||||
<dt><em>hid_t</em> <code>*raw_properties</code>
|
||||
<dt><em>hid_t</em> <code>*raw_plist</code>
|
||||
<dd>OUT: Pointer to a copy of the raw file access property list.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
@@ -1578,42 +1609,65 @@ parallel HDF5 library.</i>
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetFamily">H5Pset_family</a>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetGCReferences">H5Pset_gc_references</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_family</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>hsize_t</em> <code>memb_size</code>,
|
||||
<em>hid_t</em> <code>memb_plist</code>
|
||||
<dd><em>herr_t</em> <code>H5Pset_gc_references</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>unsigned</em> <code>gc_ref</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets the file access properties list to the <em>family</em>
|
||||
driver.
|
||||
<dd>Sets garbage collecting references flag.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><i>Original version. Edited version below.</i>
|
||||
<dd><code>H5Pset_family</code> sets the file access properties
|
||||
to use the <em>family</em>
|
||||
driver; any previously defined driver properties are erased
|
||||
from the property list. Each member of the file family will
|
||||
use <em>member_properties</em> as its file access property
|
||||
list. The <em>memb_size</em> argument gives the logical size
|
||||
in bytes of each family member but the actual size could be
|
||||
smaller depending on whether the file contains holes. The
|
||||
member size is only used when creating a new file or
|
||||
truncating an existing file; otherwise the member size comes
|
||||
from the size of the first member of the family being
|
||||
opened. Note: if the size of the <code>off_t</code> type is
|
||||
four bytes then the maximum family member size is usually
|
||||
2^31-1 because the byte at offset 2,147,483,647 is generally
|
||||
inaccessible. Additional parameters may be added to this
|
||||
function in the future.
|
||||
<dd><code>H5Pset_gc_references</code> sets the flag for
|
||||
garbage collecting references for the file.
|
||||
<p>
|
||||
Dataset region references and other reference types use space
|
||||
in an HDF5 file's global heap. If garbage collection is on
|
||||
and the user passes in an uninitialized value in a reference structure,
|
||||
the heap might get corrupted. When garbage collection is off, however,
|
||||
and the user re-uses a reference, the previous heap block will be
|
||||
orphaned and not returned to the free heap space.
|
||||
<p>
|
||||
When garbage collection is on, the user must initialize the
|
||||
reference structures to 0 or risk heap corruption.
|
||||
<p>
|
||||
The default value for garbage collecting references is off.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier of the file access property list.
|
||||
<dt><em>hsize_t</em> <code>memb_size</code>
|
||||
<dd>IN: Logical size, in bytes, of each family member.
|
||||
<dt><em>hid_t</em> <code>memb_plist</code>
|
||||
<dd>IN: Identifier of the file access property list
|
||||
for each member of the family.
|
||||
<dd>IN: File access property list identifier.
|
||||
<dt><em>unsigned</em> <code>gc_ref</code>
|
||||
<dd>IN: Flag setting reference garbage collection to
|
||||
on (<code>1</code>) or off (<code>0</code>).
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetGCReferences">H5Pget_gc_references</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_gc_references</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>unsigned</em> *<code>gc_ref</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns garbage collecting references setting.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pget_gc_references</code> returns the current setting
|
||||
for the garbage collection references property from
|
||||
the specified file access property list.
|
||||
The garbage collection references property is set
|
||||
by <a href="#Property-SetGCReferences">H5Pset_gc_references</a>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: File access property list identifier.
|
||||
<dt><em>unsigned</em> <code>gc_ref</code>
|
||||
<dd>OUT: Flag returning the state of reference garbage collection.
|
||||
A returned value of <code>1</code> indicates that
|
||||
garbage collection is on while
|
||||
<code>0</code> indicates that garbage collection is off.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -1621,6 +1675,7 @@ parallel HDF5 library.</i>
|
||||
</dl>
|
||||
|
||||
|
||||
<!-- Not implemented. Probably never will be.
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetFamily">H5Pset_family</a>
|
||||
@@ -1630,12 +1685,10 @@ parallel HDF5 library.</i>
|
||||
<em>hid_t</em> <code>memb_plist</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets the file access properties list to the <code>family</code>
|
||||
driver.
|
||||
<dd>Sets the file access properties list to the family driver.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><i>Edited version. Original version above.</i>
|
||||
<dd><code>H5Pset_family</code> sets the file access properties
|
||||
to use the <code>family</code> driver; any previously defined
|
||||
to use the family driver; any previously defined
|
||||
driver properties are erased from the property list.
|
||||
See <a href="Files.html#File_Families">File Families</a>
|
||||
in the <cite>HDF5 User's Guide</cite> for a discussion
|
||||
@@ -1712,34 +1765,38 @@ parallel HDF5 library.</i>
|
||||
to the family driver.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
-->
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetCache">H5Pset_cache</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_cache</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<dd><em>herr_t</em> <code>H5Pset_cache</code>(<em>hid_t</em> <code>plist_id</code>,
|
||||
<em>int</em> <code>mdc_nelmts</code>,
|
||||
<em>int</em> <code>rdcc_nelmts</code>,
|
||||
<em>size_t</em> <code>rdcc_nbytes</code>,
|
||||
<em>double</em> <code>rdcc_w0</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets the number of elements in the meta data cache and the
|
||||
total number of bytes in the raw data chunk cache.
|
||||
<dd>Sets the meta data cache and raw data chunk cache parameters.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_cache</code> sets the number of elements (objects)
|
||||
in the meta data cache and the total number of bytes in the
|
||||
raw data chunk cache.
|
||||
<dd><code>H5Pset_cache</code> sets
|
||||
the number of elements (objects) in the meta data cache and
|
||||
the number of elements, the total number of bytes, and
|
||||
the preemption policy value in the raw data chunk cache.
|
||||
<p>
|
||||
Sets or queries the meta data cache and raw data chunk cache
|
||||
parameters. The <em>plist</em> is a file access property
|
||||
list. The number of elements (objects) in the meta data cache
|
||||
is <em>mdc_nelmts</em>. The total size of the raw data chunk
|
||||
cache and the preemption policy is <em>rdcc_nbytes</em> and
|
||||
<em>w0</em>. For <code>H5Pget_cache()</code> any (or all) of
|
||||
the pointer arguments may be null pointers.
|
||||
The <em>plist_id</em> is a file access property list.
|
||||
The number of elements (objects) in the meta data cache
|
||||
and the raw data chunk cache are <em>mdc_nelmts</em> and
|
||||
<em>rdcc_nelmts</em>, respectively.
|
||||
The total size of the raw data chunk cache and the preemption policy
|
||||
are <em>rdcc_nbytes</em> and <em>rdcc_w0</em>.
|
||||
<p>
|
||||
The RDCC_W0 value should be between 0 and 1 inclusive and
|
||||
Any (or all) of the <code>H5Pget_cache()</code> pointer arguments
|
||||
may be null pointers.
|
||||
<p>
|
||||
The <em>rdcc_w0</em> value should be between 0 and 1 inclusive and
|
||||
indicates how much chunks that have been fully read are
|
||||
favored for preemption. A value of zero means fully read
|
||||
chunks are treated no differently than other chunks (the
|
||||
@@ -1747,10 +1804,12 @@ parallel HDF5 library.</i>
|
||||
read chunks are always preempted before other chunks.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dt><em>hid_t</em> <code>plist_id</code>
|
||||
<dd>IN: Identifier of the file access property list.
|
||||
<dt><em>int</em> <code>mdc_nelmts</code>
|
||||
<dd>IN: Number of elements (objects) in the meta data cache.
|
||||
<dt><em>int</em> <code>rdcc_nelmts</code>
|
||||
<dd>IN: Number of elements (objects) in the raw data chunk cache.
|
||||
<dt><em>size_t</em> <code>rdcc_nbytes</code>
|
||||
<dd>IN: Total size of the raw data chunk cache, in bytes.
|
||||
<dt><em>double</em> <code>rdcc_w0</code>
|
||||
@@ -1766,25 +1825,29 @@ parallel HDF5 library.</i>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetCache">H5Pget_cache</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_cache</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<dd><em>herr_t</em> <code>H5Pget_cache</code>(<em>hid_t</em> <code>plist_id</code>,
|
||||
<em>int</em> <code>*mdc_nelmts</code>,
|
||||
<em>int</em> <code>*rdcc_nelmts</code>,
|
||||
<em>size_t</em> <code>*rdcc_nbytes</code>,
|
||||
<em>double</em> <code>*rdcc_w0</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves maximum sizes of meta data cache and RDCC_WO.
|
||||
<dd>Retrieves maximum sizes of data caches and the preemption policy value.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd>Retrieves the maximum possible number of elements in the meta
|
||||
data cache and the maximum possible number of bytes and the
|
||||
RDCC_W0 value in the raw data chunk cache. Any (or all)
|
||||
arguments may be null pointers in which case the corresponding
|
||||
datum is not returned.
|
||||
data cache and raw data chunk cache, the maximum possible number of
|
||||
bytes in the raw data chunk cache, and the preemption policy value.
|
||||
<p>
|
||||
Any (or all) arguments may be null pointers in which case the
|
||||
corresponding datum is not returned.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dt><em>hid_t</em> <code>plist_id</code>
|
||||
<dd>IN: Identifier of the file access property list.
|
||||
<dt><em>int</em> <code>*mdc_nelmts</code>
|
||||
<dd>IN/OUT: Number of elements (objects) in the meta data cache.
|
||||
<dt><em>int</em> <code>*rdcc_nelmts</code>
|
||||
<dd>IN/OUT: Number of elements (objects) in the raw data chunk cache.
|
||||
<dt><em>size_t</em> <code>*rdcc_nbytes</code>
|
||||
<dd>IN/OUT: Total size of the raw data chunk cache, in bytes.
|
||||
<dt><em>double</em> <code>*rdcc_w0</code>
|
||||
@@ -1796,6 +1859,165 @@ parallel HDF5 library.</i>
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetHyperCache">H5Pset_hyper_cache</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_hyper_cache</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>unsigned</em> <code>cache</code>,
|
||||
<em>unsigned</em> <code>limit</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Indicates whether to cache hyperslab blocks during I/O.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd>Given a dataset transfer property list, <code>H5Pset_hyper_cache</code>
|
||||
indicates whether to cache hyperslab blocks during I/O,
|
||||
a process which can significantly increase I/O speeds.
|
||||
<p>
|
||||
When working with hyperslab selections, it is possible to
|
||||
significantly speed up I/O operations by retrieving an
|
||||
entire hyperslab from the file in one operation and
|
||||
caching it in memory.
|
||||
The <code>cache</code> parameter specifies whether to turn
|
||||
caching on for hyperslab I/O operations.
|
||||
If <code>cache</code> is set to <code>1</code>,
|
||||
caching is turned on;
|
||||
if set to <code>0</code>, caching is turned off.
|
||||
<p>
|
||||
The parameter <code>limit</code> sets the maximum size of the
|
||||
hyperslab block to cache. If a block is smaller than that limit,
|
||||
it may still not be cached if no memory is available.
|
||||
Setting <code>limit</code> to <code>0</code> (zero) indicates
|
||||
no limitation on the size of block to attempt to cache.
|
||||
<p>
|
||||
The default is to cache blocks with no limit on block size
|
||||
for serial I/O and to not cache blocks for parallel I/O.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Dataset transfer property list identifier.
|
||||
<dt><em>unsigned</em> <code>cache</code>
|
||||
<dd>IN: A flag indicating whether caching is to be
|
||||
set to on (<code>1</code>) or off (<code>0</code>).
|
||||
<dt><em>unsigned</em> <code>limit</code>
|
||||
<dd>IN: Maximum size of the hyperslab block to cache.
|
||||
<code>0</code> (zero) indicates no limit.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetHyperCache">H5Pget_hyper_cache</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_hyper_cache</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>unsigned</em> *<code>cache</code>,
|
||||
<em>unsigned</em> *<code>limit</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns information regarding the caching of hyperslab blocks during I/O.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd>Given a dataset transfer property list, <code>H5Pget_hyper_cache</code>
|
||||
returns instructions regarding the caching of hyperslab blocks during I/O.
|
||||
These parameters are set with the <code>H5Pset_hyper_cache</code> function.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Dataset transfer property list identifier.
|
||||
<dt><em>unsigned</em> *<code>cache</code>
|
||||
<dd>OUT: A flag indicating whether caching is
|
||||
set to on (<code>1</code>) or off (<code>0</code>).
|
||||
<dt><em>unsigned</em> *<code>limit</code>
|
||||
<dd>OUT: Maximum size of the hyperslab block to cache.
|
||||
<code>0</code> (zero) indicates no limit.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetBTreeRatios">H5Pset_btree_ratios</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_btree_ratios</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>double</em> <code>left</code>,
|
||||
<em>double</em> <code>middle</code>,
|
||||
<em>double</em> <code>right</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets B-tree split ratios for a dataset transfer property list.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_btree_ratios</code> sets the B-tree split ratios
|
||||
for a dataset transfer property list. The split ratios determine
|
||||
what percent of children go in the first node when a node splits.
|
||||
<p>
|
||||
The ratio <code>left</code> is used when the splitting node is
|
||||
the left-most node at its level in the tree;
|
||||
the ratio <code>right</code> is used when the splitting node is
|
||||
the right-most node at its level;
|
||||
and the ratio <code>middle</code> is used for all other cases.
|
||||
<p>
|
||||
A node which is the only node at its level in the tree uses
|
||||
the ratio <code>right</code> when it splits.
|
||||
<p>
|
||||
All ratios are real numbers between 0 and 1, inclusive.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: The dataset transfer property list identifier.
|
||||
<dt><em>double</em> <code>left</code>
|
||||
<dd>IN: The B-tree split ratio for left-most nodes.
|
||||
<dt><em>double</em> <code>right</code>
|
||||
<dd>IN: The B-tree split ratio for right-most nodes and lone nodes.
|
||||
<dt><em>double</em> <code>middle</code>
|
||||
<dd>IN: The B-tree split ratio for all other nodes.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetBTreeRatios">H5Pget_btree_ratios</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_btree_ratios</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>double</em> *<code>left</code>,
|
||||
<em>double</em> *<code>middle</code>,
|
||||
<em>double</em> *<code>right</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets B-tree split ratios for a dataset transfer property list.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pget_btree_ratios</code> returns the B-tree split ratios
|
||||
for a dataset transfer property list.
|
||||
<p>
|
||||
The B-tree split ratios are returned through the non-<code>NULL</code>
|
||||
arguments <code>left</code>, <code>middle</code>, and <code>right</code>,
|
||||
as set by the <a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a> function.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: The dataset transfer property list identifier.
|
||||
<dt><em>double</em> <code>left</code>
|
||||
<dd>OUT: The B-tree split ratio for left-most nodes.
|
||||
<dt><em>double</em> <code>right</code>
|
||||
<dd>OUT: The B-tree split ratio for right-most nodes and lone nodes.
|
||||
<dt><em>double</em> <code>middle</code>
|
||||
<dd>OUT: The B-tree split ratio for all other nodes.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetBuffer">H5Pset_buffer</a>
|
||||
@@ -1811,15 +2033,21 @@ parallel HDF5 library.</i>
|
||||
<dd> Given a dataset transfer property list, <code>H5Pset_buffer</code>
|
||||
sets the maximum size
|
||||
for the type conversion buffer and background buffer and
|
||||
optionally supply pointers to application-allocated buffers.
|
||||
optionally supplies pointers to application-allocated buffers.
|
||||
If the buffer size is smaller than the entire amount of data
|
||||
being transferred between application and file, and a type
|
||||
conversion buffer or background buffer is required then
|
||||
strip mining will be used. However, certain restrictions
|
||||
apply for the size of buffer which can be used for strip
|
||||
mining. For instance, when strip mining a 100x200x300
|
||||
hyperslab of a simple data space the buffer must be large
|
||||
enough to hold a 1x200x300 slab.
|
||||
being transferred between the application and the file, and a type
|
||||
conversion buffer or background buffer is required, then
|
||||
strip mining will be used.
|
||||
<p>
|
||||
Note that there are minimum size requirements for the buffer.
|
||||
Strip mining can only break the data up along the first dimension,
|
||||
so the buffer must be large enough to accommodate a complete slice
|
||||
that encompasses all of the remaining dimensions.
|
||||
For example, when strip mining a 100x200x300 hyperslab
|
||||
of a simple data space, the buffer must be large enough to
|
||||
hold 1x200x300 data elements.
|
||||
When strip mining a 100x200x300x150 hyperslab of a simple data space,
|
||||
the buffer must be large enough to hold 1x200x300x150 data elements.
|
||||
<p>
|
||||
If <code>tconv</code> and/or <code>bkg</code> are null pointers,
|
||||
then buffers will be allocated and freed during the data transfer.
|
||||
@@ -1830,7 +2058,7 @@ parallel HDF5 library.</i>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier for the dataset transfer property list.
|
||||
<dt><em>size_t</em> <code>size</code>
|
||||
<dd>IN: Size for the type conversion and background buffers.
|
||||
<dd>IN: Size, in bytes, of the type conversion and background buffers.
|
||||
<dt><em>void</em> <code>tconv</code>
|
||||
<dd>IN: Pointer to application-allocated type conversion buffer.
|
||||
<dt><em>void</em> <code>bkg</code>
|
||||
@@ -1867,7 +2095,7 @@ parallel HDF5 library.</i>
|
||||
background buffer.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns buffer size if successful;
|
||||
<dd>Returns buffer size, in bytes, if successful;
|
||||
otherwise 0 on failure.
|
||||
</dl>
|
||||
|
||||
@@ -2032,7 +2260,7 @@ parallel HDF5 library.</i>
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_deflate</code> sets the compression method for a
|
||||
dataset creation property list to <code>H5D_COMPRESS_DEFLATE</code>
|
||||
and the compression level to <code>level<>/code>, which should
|
||||
and the compression level to <code>level</code>, which should
|
||||
be a value from zero to nine, inclusive.
|
||||
Lower compression levels are faster but result in less compression.
|
||||
This is the same algorithm as used by the GNU gzip program.
|
||||
@@ -2076,13 +2304,136 @@ parallel HDF5 library.</i>
|
||||
-->
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-SetVLMemManager">H5Pset_vlen_mem_manager</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pset_vlen_mem_manager</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>H5MM_allocate_t</em> <code>alloc</code>,
|
||||
<em>void</em> *<code>alloc_info</code>,
|
||||
<em>H5MM_free_t</em> <code>free</code>,
|
||||
<em>void</em> *<code>free_info</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets the memory manager for variable-length datatype allocation in
|
||||
<code>H5Dread</code> and <code>H5Dvlen_reclaim</code>.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pset_vlen_mem_manager</code> sets the memory manager for
|
||||
variable-length datatype allocation in <code>H5Dread</code>
|
||||
and free in <code>H5Dvlen_reclaim</code>.
|
||||
<p>
|
||||
The <code>alloc</code> and <code>free</code> parameters
|
||||
identify the memory management routines to be used.
|
||||
If the user has defined custom memory management routines,
|
||||
<code>alloc</code> and/or <code>free</code> should be set to make
|
||||
those routine calls (i.e., the name of the routine is used as
|
||||
the value of the parameter);
|
||||
if the user prefers to use the system's <code> malloc</code>
|
||||
and/or <code>free</code>, the <code>alloc</code> and
|
||||
<code>free</code> parameters, respectively, should be set to
|
||||
<code> NULL</code>
|
||||
<p>
|
||||
The prototypes for these user-defined functions would appear as follows:
|
||||
<br>
|
||||
<em>typedef void</em> *(*<code>H5MM_allocate_t</code>)(<em>size_t</em> <code>size</code>,
|
||||
<em>void</em> *<code>alloc_info</code>) ;
|
||||
|
||||
<br>
|
||||
<em>typedef void</em> (*<code>H5MM_free_t</code>)(<em>void</em> *<code>mem</code>,
|
||||
<em>void</em> *<code>free_info</code>) ;
|
||||
<br>
|
||||
The <code>alloc_info</code> and <code>free_info</code> parameters
|
||||
can be used to pass along any required information to
|
||||
the user's memory management routines.
|
||||
<p>
|
||||
In summary, if the user has defined custom memory management
|
||||
routines, the name(s) of the routines are passed in the
|
||||
<code>alloc</code> and <code>free</code> parameters and the
|
||||
custom routines' parameters are passed in the
|
||||
<code>alloc_info</code> and <code>free_info</code> parameters.
|
||||
If the user wishes to use the system <code> malloc</code> and
|
||||
<code>free</code> functions, the <code>alloc</code> and/or
|
||||
<code>free</code> parameters are set to <code> NULL</code>
|
||||
and the <code>alloc_info</code> and <code>free_info</code>
|
||||
parameters are ignored.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier for the dataset transfer property list.
|
||||
<dt><em>H5MM_allocate_t</em> <code>alloc</code>
|
||||
<dd>IN: User's allocate routine, or
|
||||
<code> NULL</code> for system <code> malloc</code>.
|
||||
<dt><em>void</em> *<code>alloc_info</code>
|
||||
<dd>IN: Extra parameter for user's allocation routine.
|
||||
<br>
|
||||
Contents are ignored if preceding parameter is
|
||||
<code>NULL</code>.
|
||||
<dt><em>H5MM_free_t</em> <code>free</code>
|
||||
<dd>IN: User's free routine, or <code> NULL</code>
|
||||
for system <code>free</code>.
|
||||
<dt><em>void</em> *<code>free_info</code>
|
||||
<dd>IN: Extra parameter for user's free routine.
|
||||
<br>
|
||||
Contents are ignored if preceding parameter is
|
||||
<code>NULL</code>.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Property-GetVLMemManager">H5Pget_vlen_mem_manager</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Pget_vlen_mem_manager</code>(<em>hid_t</em> <code>plist</code>,
|
||||
<em>H5MM_allocate_t</em> *<code>alloc</code>,
|
||||
<em>void</em> **<code>alloc_info</code>,
|
||||
<em>H5MM_free_t</em> *<code>free</code>,
|
||||
<em>void</em> **<code>free_info</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the memory manager for variable-length datatype allocation in
|
||||
<code>H5Dread</code> and <code>H5Dvlen_reclaim</code>.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Pget_vlen_mem_manager</code> is the companion function to
|
||||
<code>H5Pset_vlen_mem_manager</code>, returning the parameters
|
||||
set by that function.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>plist</code>
|
||||
<dd>IN: Identifier for the dataset transfer property list.
|
||||
<dt><em>H5MM_allocate_t</em> <code>alloc</code>
|
||||
<dd>OUT: User's allocate routine, or <code> NULL</code>
|
||||
for system <code> malloc</code>.
|
||||
<dt><em>void</em> *<code>alloc_info</code>
|
||||
<dd>OUT: Extra parameter for user's allocation routine.
|
||||
<br>
|
||||
Contents are ignored if preceding parameter is
|
||||
<code> NULL</code>.
|
||||
<dt><em>H5MM_free_t</em> <code>free</code>
|
||||
<dd>OUT: User's free routine, or <code> NULL</code> for
|
||||
system <code>free</code>.
|
||||
<dt><em>void</em> *<code>free_info</code>
|
||||
<dd>OUT: Extra parameter for user's free routine.
|
||||
<br>
|
||||
Contents are ignored if preceding parameter is
|
||||
<code> NULL</code>.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -2114,9 +2465,11 @@ H5P
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 2 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5R API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -57,14 +57,16 @@ to specific objects and data regions in an HDF5 file.
|
||||
<tr><td valign=top width=33%>
|
||||
<ul>
|
||||
<li><a href="#Reference-Create">H5Rcreate</a>
|
||||
<li><a href="#Reference-Dereference">H5Rdereference</a>
|
||||
</ul>
|
||||
</td><td valign=top width=33%>
|
||||
<ul>
|
||||
<li><a href="#Reference-Dereference">H5Rdereference</a>
|
||||
<li><a href="#Reference-GetRegion">H5Rget_region</a>
|
||||
<li><a href="#Reference-GetObjectType">H5Rget_object_type</a>
|
||||
</ul>
|
||||
</td><td valign=top width=34%>
|
||||
<ul>
|
||||
<li><a href="#Reference-GetRegion">H5Rget_region</a>
|
||||
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
@@ -129,10 +131,12 @@ to specific objects and data regions in an HDF5 file.
|
||||
opens that object and returns an identifier.
|
||||
<p>
|
||||
The parameter <code>ref_type</code> specifies the reference type
|
||||
of <code>ref</code>. See
|
||||
<a href="References.html#Reference-RefTypes">Reference Types</a> in
|
||||
<a href="References.html"><i>References (H5R)</i></a>
|
||||
for a list of valid reference types.
|
||||
of <code>ref</code>.
|
||||
<code>ref_type</code> may contain either of the following values:
|
||||
<ul>
|
||||
<li><code>H5R_OBJECT</code> (<code>0</code>)
|
||||
<li><code>H5R_DATASET_REGION</code> (<code>1</code>)
|
||||
</ul>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>dataset</code>
|
||||
@@ -151,9 +155,8 @@ to specific objects and data regions in an HDF5 file.
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Reference-GetRegion">H5Rget_region</a>
|
||||
<i>(Not yet implemented.)</i>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>H5S_t</em> <code>H5Rget_region</code>(<em>H5D_t</em> <code>dataset</code>,
|
||||
<dd><em>hid_t</em> <code>H5Rget_region</code>(<em>hid_t</em> <code>dataset</code>,
|
||||
<em>H5R_type_t</em> <code>ref_type</code>,
|
||||
<em>void *</em><code>ref</code>
|
||||
)
|
||||
@@ -166,10 +169,11 @@ to specific objects and data regions in an HDF5 file.
|
||||
which is the region pointed to.
|
||||
<p>
|
||||
The parameter <code>ref_type</code> specifies the reference type
|
||||
of <code>ref</code>. See
|
||||
<a href="References.html#Reference-RefTypes">Reference Types</a> in
|
||||
<a href="References.html"><i>References (H5R)</i></a>
|
||||
for a list of valid reference types.
|
||||
of <code>ref</code>.
|
||||
<code>ref_type</code> may contain the following value:
|
||||
<ul>
|
||||
<li><code>H5R_DATASET_REGION</code> (<code>1</code>)
|
||||
</ul>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>dataset</code>,
|
||||
@@ -185,13 +189,41 @@ to specific objects and data regions in an HDF5 file.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Reference-GetObjectType">H5Rget_object_type</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>int</em> <code>H5Rget_object_type</code>(<em>hid_t</em> <code>id</code>,
|
||||
<em>void *</em><code>ref</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves the type of object that an object reference points to.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd>Given a reference to an object <code>ref</code>,
|
||||
<code>H5Rget_object_type</code> returns the
|
||||
type of the object pointed to.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>id</code>,
|
||||
<dd>IN: The dataset containing the reference object or
|
||||
the location identifier of the object that the dataset
|
||||
is located within.
|
||||
<dt><em>void *</em><code>ref</code>
|
||||
<dd>IN: Reference to query.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns an object type as defined in <code>H5Gpublic.h</code>;
|
||||
otherwise returns <code>H5G_UNKNOWN</code>.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -223,9 +255,11 @@ H5R
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5RA Experimental API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -324,9 +324,9 @@ name of the ragged array.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -358,9 +358,12 @@ H5RA
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5S API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -53,34 +53,35 @@ elements of a dataset.
|
||||
|
||||
<table border=0>
|
||||
<tr><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataspace-Create">H5Screate</a>
|
||||
<li><a href="#Dataspace-Copy">H5Scopy</a>
|
||||
<li><a href="#Dataspace-Close">H5Sclose</a>
|
||||
<li><a href="#Dataspace-CreateSimple">H5Screate_simple</a>
|
||||
<li><a href="#Dataspace-IsSimple">H5Sis_simple</a>
|
||||
<li><a href="#Dataspace-OffsetSimple">H5Soffset_simple</a>
|
||||
<li><a href="#Dataspace-Copy">H5Scopy</a>
|
||||
<li><a href="#Dataspace-ExtentClass">H5Sextent_class</a>
|
||||
<li><a href="#Dataspace-ExtentCopy">H5Sextent_copy</a>
|
||||
</ul>
|
||||
<li><a href="#Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
|
||||
<li><a href="#Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
|
||||
<li><a href="#Dataspace-ExtentType">H5Sget_simple_extent_type</a>
|
||||
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
||||
<li><a href="#Dataspace-ExtentClass">H5Sextent_class</a>
|
||||
-->
|
||||
<li><a href="#Dataspace-ExtentCopy">H5Sextent_copy</a>
|
||||
<li><a href="#Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
|
||||
<li><a href="#Dataspace-SetExtentNone">H5Sset_extent_none</a>
|
||||
<li><a href="#Dataspace-SelectNpoints">H5Sget_select_npoints</a>
|
||||
<li><a href="#Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
|
||||
<li><a href="#Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
|
||||
<li><a href="#Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
|
||||
<li><a href="#Dataspace-ExtentType">H5Sget_simple_extent_type</a>
|
||||
</ul>
|
||||
<li><a href="#Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
|
||||
<li><a href="#Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li><a href="#Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
|
||||
<li><a href="#Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
|
||||
<li><a href="#Dataspace-SelectBounds">H5Sget_select_bounds</a>
|
||||
<li><a href="#Dataspace-SelectElements">H5Sselect_elements</a>
|
||||
<li><a href="#Dataspace-SelectAll">H5Sselect_all</a>
|
||||
<li><a href="#Dataspace-SelectNone">H5Sselect_none</a>
|
||||
<li><a href="#Dataspace-SelectValid">H5Sselect_valid</a>
|
||||
<li><a href="#Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
|
||||
<li><a href="#Dataspace-Close">H5Sclose</a>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
@@ -95,11 +96,10 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<li>H5Scommit
|
||||
<li>H5Sis_subspace
|
||||
<li>H5Slock
|
||||
<li>H5Sopen
|
||||
</ul>
|
||||
</td><td> </td><td valign=top>
|
||||
<ul>
|
||||
<li>H5Sselect_name
|
||||
<li>H5Sopen
|
||||
<li>H5Sselect_op
|
||||
<li>H5Sselect_order
|
||||
</ul>
|
||||
@@ -205,7 +205,7 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>,
|
||||
<em>dh5s_selopt_t</em> <code>op</code>,
|
||||
<em>H5S_seloper_t</em> <code>op</code>,
|
||||
<em>const size_t</em> <code>num_elements</code>,
|
||||
<em>const hssize_t *</em><code>coord</code>[ ]
|
||||
)
|
||||
@@ -248,7 +248,7 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>Identifier of the dataspace.
|
||||
<dt><em>dh5s_selopt_t</em> <code>op</code>
|
||||
<dt><em>H5S_seloper_t</em> <code>op</code>
|
||||
<dd>operator specifying how the new selection is to be
|
||||
combined with the existing selection for the dataspace.
|
||||
<dt><em>const size_t</em> <code>num_elements</code>
|
||||
@@ -316,7 +316,7 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hbool_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>)
|
||||
<dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Verifies that the selection is within the extent of the dataspace.
|
||||
<dt><strong>Description:</strong>
|
||||
@@ -330,9 +330,10 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
selection is being reset.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns <tt>TRUE</tt> if the selection is contained within
|
||||
the extent and <tt>FALSE</tt> if it is not.
|
||||
Returns returns a negative value on error conditions
|
||||
<dd>Returns a positive value, for <code>TRUE</code>,
|
||||
if the selection is contained within the extent
|
||||
or <code>0</code> (zero), for <code>FALSE</code>, if it is not.
|
||||
Returns a negative value on error conditions
|
||||
such as the selection or extent not being defined.
|
||||
</dl>
|
||||
|
||||
@@ -365,7 +366,7 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hssize_t</em> <code>H5Sget_select_npoints</code>(<em>hid_t</em> <code>space_id</code>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines the number of elements in a dataspace.
|
||||
<dd>Determines the number of elements in a dataspace selection.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_npoints</code> determines the number of elements
|
||||
in the current selection of a dataspace.
|
||||
@@ -415,6 +416,9 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dd><code>H5Sget_simple_extent_dims</code> returns the size and maximum sizes
|
||||
of each dimension of a dataspace through the <code>dims</code>
|
||||
and <code>maxdims</code> parameters.
|
||||
<p>
|
||||
Either or both of <code>dims</code> and <code>maxdims</code>
|
||||
may be NULL.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
@@ -504,7 +508,7 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hbool_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>)
|
||||
<dd><em>htri_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines whether a dataspace is a simple dataspace.
|
||||
<dt><strong>Description:</strong>
|
||||
@@ -517,8 +521,9 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dd>Identifier of the dataspace to query
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns TRUE or FALSE if Successful;
|
||||
otherwise returns a negative value.
|
||||
<dd>When successful, returns a positive value, for <code>TRUE</code>,
|
||||
or <code>0</code> (zero), for <code>FALSE</code>.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -555,6 +560,8 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
</dl>
|
||||
|
||||
|
||||
<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-ExtentClass">H5Sextent_class</a>
|
||||
@@ -579,6 +586,8 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
otherwise H5S_NO_CLASS (-1).
|
||||
</dl>
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
@@ -635,9 +644,9 @@ of the <cite>HDF5 User's Guide.</cite>.
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Sselect_hyperslab</code>(<em>hid_t</em> <code>space_id</code>,
|
||||
<em>h5s_selopt_t</em><code>op</code>,
|
||||
<em>H5S_seloper_t</em> <code>op</code>,
|
||||
<em>const hssize_t *</em><code>start</code>,
|
||||
<em>const hsize_t *</em><code>stride</code>
|
||||
<em>const hsize_t *</em><code>stride</code>,
|
||||
<em>const hsize_t *</em><code>count</code>,
|
||||
<em>const hsize_t *</em><code>block</code>
|
||||
)
|
||||
@@ -736,6 +745,200 @@ I/O is performed.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Get number of hyperslab blocks.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_hyper_nblocks</code> returns the
|
||||
number of hyperslab blocks in the current dataspace selection.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>IN: Identifier of dataspace to query.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the number of hyperslab blocks in
|
||||
the current dataspace selection if successful.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>,
|
||||
<em>hsize_t </em><code>startblock</code>,
|
||||
<em>hsize_t </em><code>numblocks</code>,
|
||||
<em>hsize_t *</em><code>buf</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the list of hyperslab blocks currently selected.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_hyper_blocklist</code> returns a list of
|
||||
the hyperslab blocks currently selected. Starting with the
|
||||
<code>startblock</code>-th block in the list of blocks,
|
||||
<code>numblocks</code> blocks are put into the user's buffer.
|
||||
If the user's buffer fills up before <code>numblocks</code>
|
||||
blocks are inserted, the buffer will contain only as many
|
||||
blocks as fit.
|
||||
<p>
|
||||
The block coordinates have the same dimensionality (rank)
|
||||
as the dataspace they are located within. The list of blocks
|
||||
is formatted as follows:
|
||||
<br>
|
||||
<"start" coordinate>, immediately followed by
|
||||
<br>
|
||||
<"opposite" corner coordinate>, followed by
|
||||
<br>
|
||||
the next "start" and "opposite" coordinates,
|
||||
<br>
|
||||
etc.
|
||||
<br>
|
||||
until all of the selected blocks have been listed.
|
||||
<p>
|
||||
No guarantee is implied as the order in which blocks are listed.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>IN: Dataspace identifier of selection to query.
|
||||
<dt><em>hsize_t </em><code>startblock</code>
|
||||
<dd>IN: Hyperslab block to start with.
|
||||
<dt><em>hsize_t </em><code>numblocks</code>
|
||||
<dd>IN: Number of hyperslab blocks to get.
|
||||
<dt><em>hsize_t *</em><code>buf</code>
|
||||
<dd>OUT: List of hyperslab blocks selected.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the number of element points in the current selection.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_elem_npoints</code> returns
|
||||
the number of element points in the current dataspace selection.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>IN: Identifier of dataspace to query.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the number of element points in the current dataspace selection if successful.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>,
|
||||
<em>hsize_t </em><code>startpoint</code>,
|
||||
<em>hsize_t </em><code>numpoints</code>,
|
||||
<em>hsize_t *</em><code>buf</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the list of element points currently selected.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_elem_pointlist</code> returns the list of
|
||||
element points in the current dataspace selection. Starting with
|
||||
the <code>startpoint</code>-th point in the list of points,
|
||||
<code>numpoints</code> points are put into the user's buffer.
|
||||
If the user's buffer fills up before <code>numpoints</code>
|
||||
points are inserted, the buffer will contain only as many
|
||||
points as fit.
|
||||
<p>
|
||||
The element point coordinates have the same dimensionality (rank)
|
||||
as the dataspace they are located within. The list of element points
|
||||
is formatted as follows:
|
||||
<br>
|
||||
<coordinate>, followed by
|
||||
<br>
|
||||
the next coordinate,
|
||||
<br>
|
||||
etc.
|
||||
<br>
|
||||
until all of the selected element points have been listed.
|
||||
<p>
|
||||
The points are returned in the order they will be iterated through
|
||||
when the selection is read/written from/to disk.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>IN: Dataspace identifier of selection to query.
|
||||
<dt><em>hsize_t </em><code>startpoint</code>
|
||||
<dd>IN: Element point to start with.
|
||||
<dt><em>hsize_t </em><code>numpoints</code>
|
||||
<dd>IN: Number of element points to get.
|
||||
<dt><em>hsize_t *</em><code>buf</code>
|
||||
<dd>OUT: List of element points selected.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>,
|
||||
<em>hsize_t *</em><code>start</code>,
|
||||
<em>hsize_t *</em><code>end</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the bounding box containing the current selection.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Sget_select_bounds</code> retrieves the coordinates of
|
||||
the bounding box containing the current selection and places
|
||||
them into user-supplied buffers.
|
||||
<p>
|
||||
The <code>start</code> and <code>end</code> buffers must be large
|
||||
enough to hold the dataspace rank number of coordinates.
|
||||
<p>
|
||||
The bounding box exactly contains the selection.
|
||||
I.e., if a 2-dimensional element selection is currently
|
||||
defined as containing the points (4,5), (6,8), and (10,7),
|
||||
then the bounding box will be (4, 5), (10, 8).
|
||||
<p>
|
||||
The bounding box calculation includes the current offset of the
|
||||
selection within the dataspace extent.
|
||||
<p>
|
||||
Calling this function on a <code>none</code> selection will
|
||||
return <code>FAIL</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>space_id</code>
|
||||
<dd>IN: Identifier of dataspace to query.
|
||||
<dt><em>hsize_t *</em><code>start</code>
|
||||
<dd>OUT: Starting coordinates of the bounding box.
|
||||
<dt><em>hsize_t *</em><code>end</code>
|
||||
<dd>OUT: Ending coordinates of the bounding box,
|
||||
i.e., the coordinates of the diagonally opposite corner.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a>
|
||||
@@ -764,9 +967,9 @@ I/O is performed.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -798,9 +1001,11 @@ H5S
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 17 December 1999
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5T API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -63,10 +63,19 @@ of a dataset.
|
||||
<li><a href="#Datatype-Lock">H5Tlock</a>
|
||||
<li><a href="#Datatype-GetClass">H5Tget_class</a>
|
||||
<li><a href="#Datatype-GetSize">H5Tget_size</a>
|
||||
<li><a href="#Datatype-GetSuper">H5Tget_super</a>
|
||||
<li><a href="#Datatype-Close">H5Tclose</a>
|
||||
<p>
|
||||
<i>Conversion Functions</i>
|
||||
<li><a href="#Datatype-Convert">H5Tconvert</a>
|
||||
<li><a href="#Datatype-Find">H5Tfind</a>
|
||||
<li><a href="#Datatype-SetOverflow">H5Tset_overflow</a>
|
||||
<li><a href="#Datatype-GetOverflow">H5Tget_overflow</a>
|
||||
<li><a href="#Datatype-Register">H5Tregister</a>
|
||||
<li><a href="#Datatype-Unregister">H5Tunregister</a>
|
||||
</td><td> </td><td valign=top>
|
||||
<i>Atomic Datatype</i>
|
||||
<i>Atomic Datatype Properties</i>
|
||||
<table><tr><td valign=top>
|
||||
<li><a href="#Datatype-SetSize">H5Tset_size</a>
|
||||
<li><a href="#Datatype-GetOrder">H5Tget_order</a>
|
||||
<li><a href="#Datatype-SetOrder">H5Tset_order</a>
|
||||
@@ -78,12 +87,11 @@ of a dataset.
|
||||
<li><a href="#Datatype-SetPad">H5Tset_pad</a>
|
||||
<li><a href="#Datatype-GetSign">H5Tget_sign</a>
|
||||
<li><a href="#Datatype-SetSign">H5Tset_sign</a>
|
||||
</td><td valign=top>
|
||||
<i>Properties</i>
|
||||
<li><a href="#Datatype-GetFields">H5Tget_fields</a>
|
||||
<li><a href="#Datatype-SetFields">H5Tset_fields</a>
|
||||
<li><a href="#Datatype-GetEbias">H5Tget_ebias</a>
|
||||
<li><a href="#Datatype-SetEbias">H5Tset_ebias</a>
|
||||
</td><td valign=top>
|
||||
<li><a href="#Datatype-GetNorm">H5Tget_norm</a>
|
||||
<li><a href="#Datatype-SetNorm">H5Tset_norm</a>
|
||||
<li><a href="#Datatype-GetInpad">H5Tget_inpad</a>
|
||||
@@ -92,9 +100,12 @@ of a dataset.
|
||||
<li><a href="#Datatype-SetCset">H5Tset_cset</a>
|
||||
<li><a href="#Datatype-GetStrpad">H5Tget_strpad</a>
|
||||
<li><a href="#Datatype-SetStrpad">H5Tset_strpad</a>
|
||||
</td></tr></table>
|
||||
<p>
|
||||
<i>Variable-length Datatypes</i>
|
||||
<li><a href="#Datatype-VLCreate">H5Tvlen_create</a>
|
||||
</td><td> </td><td valign=top>
|
||||
<i>Properties of Compound Types</i>
|
||||
<i>Compound Datatype Properties</i>
|
||||
<li><a href="#Datatype-GetNmembers">H5Tget_nmembers</a>
|
||||
<li><a href="#Datatype-GetMemberName">H5Tget_member_name</a>
|
||||
<li><a href="#Datatype-GetMemberOffset">H5Tget_member_offset</a>
|
||||
@@ -104,14 +115,16 @@ of a dataset.
|
||||
<li><a href="#Datatype-Pack">H5Tpack</a>
|
||||
<li><a href="#Datatype-InsertArray">H5Tinsert_array</a>
|
||||
<p>
|
||||
<i>Conversion Functions</i>
|
||||
<li><a href="#Datatype-Convert">H5Tconvert</a>
|
||||
<li><a href="#Datatype-Find">H5Tfind</a>
|
||||
<li><a href="#Datatype-SetOverflow">H5Tset_overflow</a>
|
||||
<li><a href="#Datatype-GetOverflow">H5Tget_overflow</a>
|
||||
<li><a href="#Datatype-RegisterHard">H5Tregister_hard</a>
|
||||
<li><a href="#Datatype-RegisterSoft">H5Tregister_soft</a>
|
||||
<li><a href="#Datatype-Unregister">H5Tunregister</a>
|
||||
<i>Enumeration Datatypes</i>
|
||||
<li><a href="#Datatype-EnumCreate">H5Tenum_create</a>
|
||||
<li><a href="#Datatype-EnumInsert">H5Tenum_insert</a>
|
||||
<li><a href="#Datatype-EnumNameOf">H5Tenum_nameof</a>
|
||||
<li><a href="#Datatype-EnumValueOf">H5Tenum_valueof</a>
|
||||
<li><a href="#Datatype-GetMemberValue">H5Tget_member_value</a>
|
||||
<p>
|
||||
<i>Opaque Datatypes</i>
|
||||
<li><a href="#Datatype-SetTag">H5Tset_tag</a>
|
||||
<li><a href="#Datatype-GetTag">H5Tget_tag</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
@@ -162,9 +175,9 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
<dd>A file, group, or datatype identifier.
|
||||
<dd>IN: A file or group identifier.
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>A datatype name.
|
||||
<dd>IN: A datatype name, defined within the file or group identified by <code>loc_id</code>.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a named datatype identifier if successful;
|
||||
@@ -191,11 +204,11 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>loc_id</code>
|
||||
<dd>A file or group identifier.
|
||||
<dd>IN: A file or group identifier.
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>A datatype name.
|
||||
<dd>IN: A datatype name.
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>A datatype identifier.
|
||||
<dd>IN: A datatype identifier.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -207,7 +220,7 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Committed">H5Tcommitted</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hbool_t</em><code>H5Tcommitted</code>(<em>hid_t</em> <code>type</code>)
|
||||
<dd><em>htri_t</em><code>H5Tcommitted</code>(<em>hid_t</em> <code>type</code>)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Determines whether a datatype is a named type or a transient type.
|
||||
<dt><strong>Description:</strong>
|
||||
@@ -220,11 +233,13 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
able to share the datatype with other datasets in the same file.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt>hid_t</em> <code>type</code>
|
||||
<dd>Datatype identifier.
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>IN: Datatype identifier.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>The successful return values are TRUE if committed, else FALSE.
|
||||
<dd>When successful, returns a positive value, for <code>TRUE</code>,
|
||||
if the datatype has been committed, or <code>0</code> (zero),
|
||||
for <code>FALSE</code>, if the datatype has not been committed.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
@@ -250,27 +265,39 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
and the size of the array is </em><code>dim</code>.
|
||||
The new member's name, <code>name</code>, must be unique
|
||||
within the compound datatype.
|
||||
The <code>offset</code> argument defines the start of the
|
||||
The <code>offset</code> argument defines the byte offset of the start of the
|
||||
member in an instance of the compound datatype and
|
||||
<code>member_id</code> is the type identifier of the new member.
|
||||
The total member size should be relatively small.
|
||||
<p>
|
||||
The functionality of the <code>perm</code> parameter has
|
||||
not yet been implemented.
|
||||
Currently, <code>perm</code> is best set to <code>NULL</code>.
|
||||
(When implemented, <code>perm</code> will specify the mapping
|
||||
of dimensions within a struct. At that time, a
|
||||
<code>NULL</code> value for <code>perm</code> will mean
|
||||
no mappiing change is to take place. Thus, using a value
|
||||
of <code>NULL</code> ensures that application behavior will
|
||||
remain unchanged upon implementation of this functionality.)
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>parent_id</code>
|
||||
<dd>Identifier of the parent compound datatype.
|
||||
<dd>IN: Identifier of the parent compound datatype.
|
||||
<dt><em>const char *</em><code>name</code>
|
||||
<dd>Name of new member.
|
||||
<dd>IN: Name of new member.
|
||||
<dt><em>size_t</em> <code>offset</code>
|
||||
<dd>Offset to start of new member within compound datatype.
|
||||
<dd>IN: Offset to start of new member within compound datatype.
|
||||
<dt><em>int</em> <code>ndims</code>
|
||||
<dd>Dimensionality of new member.
|
||||
<dd>IN: Dimensionality of new member.
|
||||
Valid values are <code>0</code> (zero)
|
||||
through <code>4</code> (four).
|
||||
<dt><em>const size_t *</em><code>dim</code>
|
||||
<dd>Size of new member array.
|
||||
<dd>IN: Size of new member array.
|
||||
<dt><em>const int *</em><code>perm</code>
|
||||
<dd>Pointer to buffer to store the permutation vector of
|
||||
<dd>IN: Pointer to buffer to store the permutation vector of
|
||||
the field.
|
||||
<dt><em>hid_t</em> <code>member_id</code>
|
||||
<dd>Identifier of the datatype of the new member.
|
||||
<dd>IN: Identifier of the datatype of the new member.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -299,11 +326,11 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>src_id</code>
|
||||
<dd>Identifier for the source datatype.
|
||||
<dd>IN: Identifier for the source datatype.
|
||||
<dt><em>hid_t</em> <code>dst_id</code>
|
||||
<dd>Identifier for the destination datatype.
|
||||
<dd>IN: Identifier for the destination datatype.
|
||||
<dt><em>H5T_cdata_t **</em><code>pcdata</code>
|
||||
<dd>Pointer to type conversion data.
|
||||
<dd>OUT: Pointer to type conversion data.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a pointer to a suitable conversion function if successful.
|
||||
@@ -319,7 +346,8 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<em>hid_t</em> <code>dst_id</code>,
|
||||
<em>size_t</em> <code>nelmts</code>,
|
||||
<em>void *</em><code>buf</code>,
|
||||
<em>void *</em><code>background</code>
|
||||
<em>void *</em><code>background</code>,
|
||||
<em>hid_t</em> <code>plist_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Converts data from between specified datatypes.
|
||||
@@ -337,6 +365,11 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<code>b</code> fields already initialized and the conversion
|
||||
of <code>buf</code> supplies the <code>c</code> and <code>d</code>
|
||||
field values).
|
||||
<p>
|
||||
The parameter <code>plist_id</code> contains the dataset transfer
|
||||
property list identifier which is passed to the conversion functions.
|
||||
As of Release 1.2.x, this parameter is only used to pass along the
|
||||
variable-length datatype custom allocation information.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>src_id</code>
|
||||
@@ -349,6 +382,8 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl
|
||||
<dd>Array containing pre- and post-conversion values.
|
||||
<dt><em>void *</em><code>background</code>
|
||||
<dd>Optional background buffer.
|
||||
<dt><em>hid_t</em> <code>plist_id</code>
|
||||
<dd>Dataset transfer property list identifier.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
@@ -427,9 +462,16 @@ H5Tget_overflow ()
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tcreate</code> creates a new dataype of the specified
|
||||
class with the specified number of bytes.
|
||||
Currently, only the <code>H5T_COMPOUND</code> datatype class is
|
||||
supported with this function. Use <code>H5Tcopy</code>
|
||||
to create integer or floating-point datatypes.
|
||||
<p>
|
||||
The following datatype classes are supported with this function:
|
||||
<ul>
|
||||
<li><code>H5T_COMPOUND</code>
|
||||
<li><code>H5T_OPAQUE</code>
|
||||
<li><code>H5T_ENUM</code>
|
||||
</ul>
|
||||
<p>
|
||||
Use <code>H5Tcopy</code> to create integer or floating-point datatypes.
|
||||
<p>
|
||||
The datatype identifier returned from this function should be
|
||||
released with <code>H5Tclose</code> or resource leaks will result.
|
||||
<dt><strong>Parameters:</strong>
|
||||
@@ -445,6 +487,38 @@ H5Tget_overflow ()
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-VLCreate">H5Tvlen_create</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t </em><code>H5Tvlen_create</code>(<em>hid_t </em><code>base_type_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Creates a new variable-length dataype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tvlen_create</code> creates a new variable-length (VL) dataype.
|
||||
<p>
|
||||
The base datatype will be the datatype that the sequence is composed of,
|
||||
characters for character strings, vertex coordinates for polygon lists, etc.
|
||||
The base type specified for the VL datatype can be of any HDF5 datatype,
|
||||
including another VL datatype, a compound datatype or an atomic datatype.
|
||||
<p>
|
||||
When necessary, use <code>H5Tget_super</code> to determine the base type
|
||||
of the VL datatype.
|
||||
<p>
|
||||
The datatype identifier returned from this function should be
|
||||
released with <code>H5Tclose</code> or resource leaks will result.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>base_type_id</code>
|
||||
<dd>Base type of datatype to create.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns datatype identifier if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Copy">H5Tcopy</a>
|
||||
@@ -536,7 +610,7 @@ H5Tget_overflow ()
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Equal">H5Tequal</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hbool_t </em><code>H5Tequal</code>(<em>hid_t </em><code>type_id1</code>,
|
||||
<dd><em>htri_t </em><code>H5Tequal</code>(<em>hid_t </em><code>type_id1</code>,
|
||||
<em>hid_t</em><code>type_id2</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
@@ -552,8 +626,9 @@ H5Tget_overflow ()
|
||||
<dd>Identifier of datatype to compare.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>When successful, returns TRUE if the datatype identifiers
|
||||
refer to the same datatype, else FALSE.
|
||||
<dd>When successful, returns a positive value, for <code>TRUE</code>,
|
||||
if the datatype identifiers refer to the same datatype,
|
||||
or <code>0</code> (zero), for <code>FALSE</code>.
|
||||
Otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
@@ -596,13 +671,16 @@ H5Tget_overflow ()
|
||||
<dd><code>H5Tget_class</code> returns the datatype class identifier.
|
||||
<p>
|
||||
Valid class identifiers, as defined in <code>H5Tpublic.h</code>, are:
|
||||
<ul><li><code>H5T_INTEGER</code> (<code>0</code>)
|
||||
<li><code>H5T_FLOAT</code> (<code>1</code>)
|
||||
<li><code>H5T_TIME</code> (<code>2</code>)
|
||||
<li><code>H5T_STRING</code> (<code>3</code>)
|
||||
<li><code>H5T_BITFIELD</code> (<code>4</code>)
|
||||
<li><code>H5T_OPAQUE</code> (<code>5</code>)
|
||||
<li><code>H5T_COMPOUND</code> (<code>6</code>)
|
||||
<ul><li><code>H5T_INTEGER</code>
|
||||
<li><code>H5T_FLOAT</code>
|
||||
<li><code>H5T_TIME</code>
|
||||
<li><code>H5T_STRING</code>
|
||||
<li><code>H5T_BITFIELD</code>
|
||||
<li><code>H5T_OPAQUE</code>
|
||||
<li><code>H5T_COMPOUND</code>
|
||||
<li><code>H5T_REFERENCE</code>
|
||||
<li><code>H5T_ENUM</code>
|
||||
<li><code>H5T_VLEN</code>
|
||||
</ul>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
@@ -669,6 +747,30 @@ H5Tget_overflow ()
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetSuper">H5Tget_super</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t</em> <code>H5Tget_super</code>(<em>hid_t</em> <code>type</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the base datatype from which a datatype is derived.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tget_super</code> returns the base datatype from which the
|
||||
datatype <code>type</code> is derived.
|
||||
<P>
|
||||
In the case of an enumeration type, the return value is an integer type.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>Datatype identifier for the derived datatype.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the datatype identifier for the base datatype if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetOrder">H5Tget_order</a>
|
||||
@@ -1071,10 +1173,11 @@ zero.
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetFields">H5Tget_fields</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Tget_fields</code>(<em>hid_t </em><code>type_id</code>,
|
||||
<em>size_t *</em> <code>epos</code>,
|
||||
<em>size_t *</em> <code>esize</code>,
|
||||
<em>size_t *</em> <code>mpos</code>,
|
||||
<em>size_t *</em> <code>msize</code>
|
||||
<em>size_t *</em><code>spos</code>,
|
||||
<em>size_t *</em><code>epos</code>,
|
||||
<em>size_t *</em><code>esize</code>,
|
||||
<em>size_t *</em><code>mpos</code>,
|
||||
<em>size_t *</em><code>msize</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves floating point datatype bit field information.
|
||||
@@ -1088,13 +1191,15 @@ zero.
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>IN: Identifier of datatype to query.
|
||||
<dt><em>size_t *</em> <code>epos</code>
|
||||
<dt><em>size_t *</em><code>spos</code>
|
||||
<dd>OUT: Pointer to location to return floating-point sign bit.
|
||||
<dt><em>size_t *</em><code>epos</code>
|
||||
<dd>OUT: Pointer to location to return exponent bit-position.
|
||||
<dt><em>size_t *</em> <code>esize</code>
|
||||
<dt><em>size_t *</em><code>esize</code>
|
||||
<dd>OUT: Pointer to location to return size of exponent in bits.
|
||||
<dt><em>size_t *</em> <code>mpos</code>
|
||||
<dt><em>size_t *</em><code>mpos</code>
|
||||
<dd>OUT: Pointer to location to return mantissa bit-position.
|
||||
<dt><em>size_t *</em> <code>msize</code>
|
||||
<dt><em>size_t *</em><code>msize</code>
|
||||
<dd>OUT: Pointer to location to return size of mantissa in bits.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
@@ -1108,6 +1213,7 @@ zero.
|
||||
<dt><strong>Name:</strong> <a name="Datatype-SetFields">H5Tset_fields</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t </em><code>H5Tset_fields</code>(<em>hid_t </em><code>type_id</code>,
|
||||
<em>size_t</em> <code>spos</code>,
|
||||
<em>size_t</em> <code>epos</code>,
|
||||
<em>size_t</em> <code>esize</code>,
|
||||
<em>size_t</em> <code>mpos</code>,
|
||||
@@ -1116,8 +1222,8 @@ zero.
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Sets locations and sizes of floating point bit fields.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tset_fields</code> sets the locations and sizes of the various floating
|
||||
point bit fields. The field positions are bit positions in the
|
||||
<dd><code>H5Tset_fields</code> sets the locations and sizes of the various
|
||||
floating-point bit fields. The field positions are bit positions in the
|
||||
significant region of the datatype. Bits are numbered with the least
|
||||
significant bit number zero.
|
||||
|
||||
@@ -1127,6 +1233,9 @@ zero.
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Identifier of datatype to set.
|
||||
<dt><em>size_t</em> <code>spos</code>
|
||||
<dd>Sign position, i.e., the bit offset of the floating-point
|
||||
sign bit.
|
||||
<dt><em>size_t</em> <code>epos</code>
|
||||
<dd>Exponent bit position.
|
||||
<dt><em>size_t</em> <code>esize</code>
|
||||
@@ -1441,7 +1550,7 @@ zero.
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetNmembers">H5Tget_nmembers</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>intn </em><code>H5Tget_nmembers</code>(<em>hid_t </em><code>type_id</code>
|
||||
<dd><em>int </em><code>H5Tget_nmembers</code>(<em>hid_t </em><code>type_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves the number of fields in a compound datatype.
|
||||
@@ -1487,6 +1596,37 @@ zero.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetMemberOffset">H5Tget_member_offset</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>size_t</em> <code>H5Tget_member_offset</code>(<em>hid_t </em><code>type_id</code>,
|
||||
<em>int</em> <code>memb_no</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Retrieves the offset of a field of a compound datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tget_member_offset</code> retrieves the
|
||||
byte offset of the beginning of a field within a
|
||||
compound datatype with respect to the beginning
|
||||
of the compound data type datum.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Identifier of datatype to query.
|
||||
<dt><em>int</em> <code>memb_no</code>
|
||||
<dd>Number of the field whose offset is requested.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the byte offset of the field if successful;
|
||||
otherwise returns <code>0</code> (zero).
|
||||
Note that zero is a valid offset and that this function
|
||||
will fail only if a call to <code>H5Tget_member_dims()</code>
|
||||
fails with the same arguments.
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetMemberDims">H5Tget_member_dims</a>
|
||||
@@ -1556,7 +1696,7 @@ zero.
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tinsert</code>(<em>hid_t </em><code>type_id</code>,
|
||||
<em>const char *</em> <code>name</code>,
|
||||
<em>off_t</em> <code>offset</code>,
|
||||
<em>size_t</em> <code>offset</code>,
|
||||
<em>hid_t</em> <code>field_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
@@ -1569,16 +1709,15 @@ zero.
|
||||
in an instance of the compound datatype, and <code>field_id</code>
|
||||
is the datatype identifier of the new member.
|
||||
<P>
|
||||
Note: All members of a compound datatype must be atomic; a
|
||||
compound datatype cannot have a member which is a compound
|
||||
datatype.
|
||||
Note: Members of a compound datatype do not have to be atomic datatypes;
|
||||
a compound datatype can have a member which is a compound datatype.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Identifier of compound datatype to modify.
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>Name of the field to insert.
|
||||
<dt><em>off_t</em> <code>offset</code>
|
||||
<dt><em>size_t</em> <code>offset</code>
|
||||
<dd>Offset in memory structure of the field to insert.
|
||||
<dt><em>hid_t</em> <code>field_id</code>
|
||||
<dd>Datatype identifier of the field to insert.
|
||||
@@ -1613,38 +1752,63 @@ zero.
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-RegisterHard">H5Tregister_hard</a>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Register">H5Tregister</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tregister_hard</code>(<em>const char
|
||||
*</em> <code>name</code>, <em>hid_t </em><code>src_id</code>,
|
||||
<dd><em>herr_t</em> <code>H5Tregister</code>(<em>H5T_pers_t</em> <code>pers</code>,
|
||||
<em>const char *</em> <code>name</code>,
|
||||
<em>hid_t </em><code>src_id</code>,
|
||||
<em>hid_t</em> <code>dst_id</code>,
|
||||
<em>H5T_conv_t</em> <code>func</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Registers a hard conversion function.
|
||||
<dd>Registers a conversion function.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tregister_hard</code> registers a hard conversion function for a datatype
|
||||
conversion path. The path is specified by the source and destination
|
||||
datatypes <code>src_id</code> and <code>dst_id</code>. A conversion
|
||||
path can only have one hard function, so <code>func</code> replaces any
|
||||
previous hard function.
|
||||
<dd><code>H5Tregister</code> registers a hard or soft conversion function
|
||||
for a datatype conversion path.
|
||||
<p>
|
||||
If <code>func</code> is the null pointer then any hard function
|
||||
registered for this path is removed from this path. The soft functions
|
||||
are then used when determining which conversion function is appropriate
|
||||
for this path. The <code>name</code> argument is used only
|
||||
for debugging and should be a short identifier for the function.
|
||||
The parameter <code>pers</code> indicates whether a conversion function
|
||||
is <em>hard</em> (<code>H5T_PERS_HARD</code>)
|
||||
or <em>soft</em> (<code>H5T_PERS_SOFT</code>).
|
||||
<p>
|
||||
A conversion path can have only one hard function.
|
||||
When <code>pers</code> is <code>H5T_PERS_HARD</code>,
|
||||
<code>func</code> replaces any previous hard function.
|
||||
If <code>pers</code> is <code>H5T_PERS_HARD</code>
|
||||
and <code>func</code> is the null pointer, then any hard function
|
||||
registered for this path is removed.
|
||||
<p>
|
||||
When <code>pers</code> is <code>H5T_PERS_SOFT</code>,
|
||||
<code>H5Tregister</code>
|
||||
adds the function to the end of the master soft list and replaces
|
||||
the soft function in all applicable existing conversion paths.
|
||||
Soft functions are used when determining which conversion function
|
||||
is appropriate for this path.
|
||||
<p>
|
||||
The <code>name</code> is used only for debugging and should be a
|
||||
short identifier for the function.
|
||||
<p>
|
||||
The path is specified by the source and destination datatypes
|
||||
<code>src_id</code> and <code>dst_id</code>.
|
||||
For soft conversion functions, only the class of these types is important.
|
||||
<p>
|
||||
The type of the conversion function pointer is declared as:
|
||||
<br>
|
||||
<code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>) (<em>hid_t </em><code>src_id</code>,
|
||||
<dl>
|
||||
<dd><code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>)
|
||||
(<em>hid_t </em><code>src_id</code>,
|
||||
<em>hid_t </em><code>dst_id</code>,
|
||||
<em>H5T_cdata_t *</em><code>cdata</code>,
|
||||
<em>size_t </em><code>nelmts</code>,
|
||||
<em>size_t </em><code>buf_stride</code>,
|
||||
<em>size_t </em><code>bkg_stride</code>,
|
||||
<em>void *</em><code>buf</code>,
|
||||
<em>void *</em><code>bkg)</code>;
|
||||
<em>void *</em><code>bkg</code>,
|
||||
<em>hid_t </em><code>dset_xfer_plist</code>);
|
||||
</dl>
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>H5T_pers_t</em> <code>pers</code>
|
||||
<dd><code>H5T_PERS_HARD</code> for hard conversion functions;
|
||||
<code>H5T_PERS_SOFT</code> for soft conversion functions.
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>Name displayed in diagnostic output.
|
||||
<dt><em>hid_t</em> <code>src_id</code>
|
||||
@@ -1660,49 +1824,6 @@ zero.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-RegisterSoft">H5Tregister_soft</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tregister_soft</code>(<em>const char
|
||||
*</em> <code>name</code>, <em>H5T_class_t </em><code>src_cls</code>,
|
||||
<em>H5T_class_t</em> <code>dst_cls</code>,
|
||||
<em>H5T_conv_t</em> <code>func</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Registers a soft conversion function.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tregister_soft</code> registers a soft conversion function by adding it to the
|
||||
end of the master soft list and replacing the soft function in all
|
||||
applicable existing conversion paths. The <code>name</code>
|
||||
is used only for debugging and should be a short identifier
|
||||
for the function.
|
||||
<P>
|
||||
The type of the conversion function pointer is declared as:
|
||||
<br>
|
||||
<code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>) (<em>hid_t </em><code>src_id</code>,
|
||||
<em>hid_t </em><code>dst_id</code>,
|
||||
<em>H5T_cdata_t *</em><code>cdata</code>,
|
||||
<em>size_t </em><code>nelmts</code>,
|
||||
<em>void *</em><code>buf</code>,
|
||||
<em>void *</em><code>bkg)</code>;
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>const char *</em> <code>name</code>
|
||||
<dd>Name displayed in diagnostic output.
|
||||
<dt><em>H5T_class_t</em> <code>src_cls</code>
|
||||
<dd>Identifier of source datatype class.
|
||||
<dt><em>H5T_class_t</em> <code>dst_cls</code>
|
||||
<dd>Identifier of destination datatype class.
|
||||
<dt><em>H5T_conv_t</em> <code>func</code>
|
||||
<dd>Function to convert between source and destination datatypes.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Unregister">H5Tunregister</a>
|
||||
@@ -1714,14 +1835,8 @@ zero.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tunregister</code> removes a conversion function from all conversion paths.
|
||||
<P>
|
||||
The type of the conversion function pointer is declared as:
|
||||
<br>
|
||||
<code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>) (<em>hid_t </em><code>src_id</code>,
|
||||
<em>hid_t </em><code>dst_id</code>,
|
||||
<em>H5T_cdata_t *</em><code>cdata</code>,
|
||||
<em>size_t </em><code>nelmts</code>,
|
||||
<em>void *</em><code>buf</code>,
|
||||
<em>void *</em><code>bkg)</code>;
|
||||
The conversion function pointer type declaration is described in
|
||||
<a href="#Datatype-Register">H5Tregister</a>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>H5T_conv_t</em> <code>func</code>
|
||||
@@ -1733,6 +1848,224 @@ zero.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-EnumCreate">H5Tenum_create</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t</em> <code>H5Tenum_create</code>(<em>hid_t</em> <code>parent_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Creates a new enumeration datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tenum_create</code> creates a new enumeration datatype
|
||||
based on the specified base datatype, <code>parent_id</code>,
|
||||
which must be an integer type.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>parent_id</code>
|
||||
<dd>IN: Datatype identifier for the base datatype.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns the datatype identifier for the new enumeration datatype if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-EnumInsert">H5Tenum_insert</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tenum_insert</code>(<em>hid_t</em> <code>type</code>,
|
||||
<em>const char</em> *<code>name</code>,
|
||||
<em>void</em> *<code>value</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Inserts a new enumeration datatype member.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tenum_insert</code> inserts a
|
||||
new enumeration datatype member into an enumeration datatype.
|
||||
<p>
|
||||
<code>type</code> is the enumeration datatype,
|
||||
<code>name</code> is the name of the new member, and
|
||||
<code>value</code> points to the value of the new member.
|
||||
<p>
|
||||
<code>name</code> and <code>value</code> must both
|
||||
be unique within <code>type</code>.
|
||||
<p>
|
||||
<code>value</code> points to data which is of the
|
||||
datatype defined when the enumeration datatype was created.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>IN: Datatype identifier for the enumeration datatype.
|
||||
<dt><em>const char</em> *<code>name</code>
|
||||
<dd>IN: Name of the new member.
|
||||
<dt><em>void</em> *<code>value</code>
|
||||
<dd>IN: Pointer to the value of the new member.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-EnumNameOf">H5Tenum_nameof</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tenum_nameof</code>(<em>hid_t</em> <code>type</code>
|
||||
<em>void</em> *<code>value</code>,
|
||||
<em>char</em> *<code>name</code>,
|
||||
<em>size_t</em> <code>size</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the symbol name corresponding to a specified member of an enumeration datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tenum_nameof</code> finds the symbol name that
|
||||
corresponds to the specified <code>value</code>
|
||||
of the enumeration datatype <code>type</code>.
|
||||
<p>
|
||||
At most <code>size</code> characters of the symbol
|
||||
name are copied into the <code>name</code> buffer.
|
||||
If the entire symbol name and null terminator
|
||||
do not fit in the <code>name</code> buffer, then as
|
||||
many characters as possible are copied
|
||||
(not null terminated) and the function fails.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>IN: Enumeration datatype identifier.
|
||||
<dt><em>void</em> *<code>value</code>,
|
||||
<dd>IN: Value of the enumeration datatype.
|
||||
<dt><em>char</em> *<code>name</code>,
|
||||
<dd>OUT: Buffer for output of the symbol name.
|
||||
<dt><em>size_t</em> <code>size</code>
|
||||
<dd>IN: Anticipated size of the symbol name, in bytes (characters).
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful.
|
||||
Otherwise returns a negative value
|
||||
and, if <code>size</code> allows it,
|
||||
the first character of <code>name</code> is
|
||||
set to <code>NULL</code>.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-EnumValueOf">H5Tenum_valueof</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tenum_valueof</code>(<em>hid_t</em> <code>type</code>
|
||||
<em>char</em> *<code>name</code>,
|
||||
<em>void</em> *<code>value</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the value corresponding to a specified member of an enumeration datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tenum_valueof</code> finds the value that
|
||||
corresponds to the specified <code>name</code>
|
||||
of the enumeration datatype <code>type</code>.
|
||||
<p>
|
||||
The <code>value</code> argument should be at least
|
||||
as large as the value of <code>H5Tget_size(type)</code>
|
||||
in order to hold the result.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>IN: Enumeration datatype identifier.
|
||||
<dt><em>const char</em> *<code>name</code>,
|
||||
<dd>IN: Symbol name of the enumeration datatype.
|
||||
<dt><em>void</em> *<code>value</code>,
|
||||
<dd>OUT: Buffer for output of the value of the enumeration datatype.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetMemberValue">H5Tget_member_value</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>hid_t</em> <code>H5Tget_member_value</code>(<em>hid_t</em> <code>type</code>
|
||||
<em>int</em> <code>memb_no</code>,
|
||||
<em>void</em> *<code>value</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Returns the value of an enumeration datatype member.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tget_member_value</code> returns the value of
|
||||
the enumeration datatype member <code>memb_no</code>.
|
||||
<p>
|
||||
The member value is returned in a user-supplied buffer
|
||||
pointed to by <code>value</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type</code>
|
||||
<dd>IN: Datatype identifier for the enumeration datatype.
|
||||
<dt><em>int</em> <code>memb_no</code>,
|
||||
<dd>IN: Number of the enumeration datatype member.
|
||||
<dt><em>void</em> *<code>value</code>
|
||||
<dd>OUT: Pointer to a buffer for output of the
|
||||
value of the enumeration datatype member.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-SetTag">H5Tset_tag</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>herr_t</em> <code>H5Tset_tag</code>(<em>hid_t</em> <code>type_id</code>
|
||||
<em>const char</em> *<code>tag</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Tags an opaque datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tset_tag</code> tags an opaque datatype <code>type_id</code>
|
||||
with a unique ASCII identifier <code>tag</code>.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>IN: Datatype identifier for the opaque datatype to be tagged.
|
||||
<dt><em>const char</em> *<code>tag</code>
|
||||
<dd>IN: Unique ASCII string with which the opaque datatype is to be tagged.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a non-negative value if successful;
|
||||
otherwise returns a negative value.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-GetTag">H5Tget_tag</a>
|
||||
<dt><strong>Signature:</strong>
|
||||
<dd><em>char</em> *<code>H5Tget_tag</code>(<em>hid_t</em> <code>type_id</code>
|
||||
)
|
||||
<dt><strong>Purpose:</strong>
|
||||
<dd>Gets the tag associated with an opaque datatype.
|
||||
<dt><strong>Description:</strong>
|
||||
<dd><code>H5Tget_tag</code> returns the tag associated with
|
||||
the opaque datatype <code>type_id</code>.
|
||||
<P>
|
||||
The tag is returned via a pointer to an
|
||||
allocated string, which the caller must free.
|
||||
<dt><strong>Parameters:</strong>
|
||||
<dl>
|
||||
<dt><em>hid_t</em> <code>type_id</code>
|
||||
<dd>Datatype identifier for the opaque datatype.
|
||||
</dl>
|
||||
<dt><strong>Returns:</strong>
|
||||
<dd>Returns a pointer to an allocated string if successful;
|
||||
otherwise returns <code>NULL</code>.
|
||||
</dl>
|
||||
|
||||
|
||||
<hr>
|
||||
<dl>
|
||||
<dt><strong>Name:</strong> <a name="Datatype-Close">H5Tclose</a>
|
||||
@@ -1760,9 +2093,9 @@ zero.
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -1794,9 +2127,11 @@ H5T
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 9 June 2000
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,9 +10,9 @@ HDF5/H5Z API Specification
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -120,9 +120,9 @@ See <a href="Compression.html"><cite>Compression</cite></a> in the
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="H5.user.html">HDF5 User Guide</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
@@ -154,9 +154,11 @@ H5Z
|
||||
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
<br>
|
||||
Last modified: 30 October 1998
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Ragged Arrays</title>
|
||||
<title>Ragged Array Experimental Interface (H5RA)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
Ragged Arrays
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -97,7 +80,7 @@ Do not create any archives using this interface!</center>
|
||||
rows. The number of rows and the length of each row can be
|
||||
changed at any time (the current version does not support
|
||||
truncating an array by removing rows). All elements of the
|
||||
ragged array have the same data type and, as with datasets, the
|
||||
ragged array have the same datatype and, as with datasets, the
|
||||
data is type-converted between memory buffers and files.
|
||||
|
||||
<p>The current implementation works best when most of the rows are
|
||||
@@ -138,7 +121,7 @@ Do not create any archives using this interface!</center>
|
||||
independently). The dataset creation property list
|
||||
<em>plist</em> defines the width of the <em>raw</em> dataset;
|
||||
a nominal row is considered to be the width of a chunk. The
|
||||
<em>type</em> argument defines the data type which will be
|
||||
<em>type</em> argument defines the datatype which will be
|
||||
stored in the file. A negative value is returned if the array
|
||||
cannot be created.
|
||||
|
||||
@@ -172,7 +155,7 @@ Do not create any archives using this interface!</center>
|
||||
*<em>buf</em>[])</code>
|
||||
<dd>A set of ragged array rows beginning at <em>start_row</em>
|
||||
and continuing for <em>nrows</em> is written to the file,
|
||||
converting the memory data type <em>type</em> to the file data
|
||||
converting the memory datatype <em>type</em> to the file data
|
||||
type which was defined when the array was created. The number
|
||||
of elements to write from each row is specified in the
|
||||
<em>size</em> array and the data for each row is pointed to
|
||||
@@ -187,8 +170,8 @@ Do not create any archives using this interface!</center>
|
||||
*<em>buf</em>[])</code>
|
||||
<dd>A set of ragged array rows beginning at <em>start_row</em>
|
||||
and continuing for <em>nrows</em> is read from the file,
|
||||
converting from the file data type which was defined when the
|
||||
array was created to the memory data type <em>type</em>. The
|
||||
converting from the file datatype which was defined when the
|
||||
array was created to the memory datatype <em>type</em>. The
|
||||
number of elements to read from each row is specified in the
|
||||
<em>size</em> array and the buffers in which to place the
|
||||
results are pointed to by the <em>buf</em> array. On return,
|
||||
@@ -208,78 +191,56 @@ Do not create any archives using this interface!</center>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
<a href="References.html">References</a>
|
||||
<br>
|
||||
<a href="References.html">References</a>
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
Ragged Arrays
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<!--
|
||||
<hr>
|
||||
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
|
||||
-->
|
||||
<!-- Created: Wed Aug 26 14:10:32 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
<!--
|
||||
Last modified: Fri Aug 28 14:27:19 EDT 1998
|
||||
-->
|
||||
<!-- hhmts end -->
|
||||
|
||||
<hr>
|
||||
<address>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
<!-- Created: Wed Aug 26 14:10:32 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 14 October 1999
|
||||
<!-- hhmts end -->
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>References</title>
|
||||
<title>Reference (H5R) and Identifier Interfaces (H5I)</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
@@ -11,56 +11,39 @@
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
References
|
||||
<br>
|
||||
References
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -206,7 +189,7 @@ The H5I function is also useful outside the context of references.
|
||||
<tr><td><code>H5I_GROUP</code></td>
|
||||
<td>Group objects</td></tr>
|
||||
<tr><td><code>H5I_DATATYPE</code></td>
|
||||
<td>Data type objects</td></tr>
|
||||
<td>Datatype objects</td></tr>
|
||||
<tr><td><code>H5I_DATASPACE</code></td>
|
||||
<td>Dataspace objects</td></tr>
|
||||
<tr><td><code>H5I_DATASET</code></td>
|
||||
@@ -219,7 +202,7 @@ The H5I function is also useful outside the context of references.
|
||||
This function was inspired by the need of users to figure
|
||||
out which type of object closing function
|
||||
(<code>H5Dclose</code>, <code>H5Gclose</code>, etc.)
|
||||
to call after a call to <code>H5Ddereference</code>,
|
||||
to call after a call to <code>H5Rdereference</code>,
|
||||
but it is also of general use.
|
||||
<p>
|
||||
</dl>
|
||||
@@ -494,7 +477,7 @@ Notes:
|
||||
<h2>Comments</h2>
|
||||
<pre>
|
||||
Reference types are atomic types and may be included as fields in compound
|
||||
data types.
|
||||
datatypes.
|
||||
|
||||
There are (at least) three levels of reference strength:
|
||||
Weak - We allow the user to store any type of reference in an array
|
||||
@@ -502,14 +485,14 @@ Notes:
|
||||
could be a mix of Object, Dataset Region and Internal references)
|
||||
Medium - We force the user to stick with a particular type of
|
||||
reference within a dataset, but the datasets pointed to (with
|
||||
Object and Dataset Region references) may be of any data type
|
||||
Object and Dataset Region references) may be of any datatype
|
||||
or dataspace.
|
||||
Strong - We force the user to stick with a particular type of
|
||||
reference and Object and Dataset Region references must point to
|
||||
datasets with the same data type.
|
||||
datasets with the same datatype.
|
||||
Extra Strong - We force the user to stick with a particular type of
|
||||
reference and Object and Dataset Region references must point to
|
||||
datasets with the same data type _and_ dataspace.
|
||||
datasets with the same datatype <i>and</i> dataspace.
|
||||
|
||||
The library is currently implemented with "medium" strength references.
|
||||
</pre>
|
||||
@@ -613,56 +596,39 @@ Notes:
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
<a href="index.html">Other HDF5 documents and links</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="H5.user.html"><strong>HDF5 User's Guide:</strong></a>
|
||||
<br>
|
||||
<a href="Files.html">Files</a>
|
||||
<a href="Datasets.html">Datasets</a>
|
||||
<a href="Datatypes.html">Data Types</a>
|
||||
<a href="Datatypes.html">Datatypes</a>
|
||||
<a href="Dataspaces.html">Dataspaces</a>
|
||||
<a href="Groups.html">Groups</a>
|
||||
References
|
||||
<br>
|
||||
References
|
||||
<a href="Attributes.html">Attributes</a>
|
||||
<a href="Properties.html">Property Lists</a>
|
||||
<a href="Errors.html">Error Handling</a>
|
||||
<br>
|
||||
<a href="Filters.html">Filters</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="MountingFiles.html">Mounting Files</a>
|
||||
<br>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Performance.html">Performance</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
<br>
|
||||
<a href="Ragged.html">Ragged Arrays</a>
|
||||
<!--
|
||||
<hr>
|
||||
And in this document, the
|
||||
<a href="H5.user.html">HDF5 User's Guide</a>:
|
||||
<a href="Attributes.html">H5A</a>
|
||||
<a href="Datasets.html">H5D</a>
|
||||
<a href="Errors.html">H5E</a>
|
||||
<a href="Files.html">H5F</a>
|
||||
<a href="Groups.html">H5G</a>
|
||||
<a href="Properties.html">H5P</a>
|
||||
<a href="References.html">H5R & H5I</a>
|
||||
<a href="Ragged.html">H5RA</a>
|
||||
<a href="Dataspaces.html">H5S</a>
|
||||
<a href="Datatypes.html">H5T</a>
|
||||
<a href="Filters.html">H5Z</a>
|
||||
<a href="Caching.html">Caching</a>
|
||||
<a href="Chunking.html">Chunking</a>
|
||||
<a href="Debugging.html">Debugging</a>
|
||||
<a href="Environment.html">Environment</a>
|
||||
<a href="ddl.html">DDL</a>
|
||||
-->
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
@@ -673,7 +639,9 @@ And in this document, the
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
</address>
|
||||
|
||||
Last modified: 30 October 1998
|
||||
Last modified: 14 October 1999
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
211
doc/html/TechNotes.html
Normal file
@@ -0,0 +1,211 @@
|
||||
<html>
|
||||
<head><title>
|
||||
HDF5 Technical Notes
|
||||
</title></head>
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table cellspacing=0 cellpadding=0 border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="ADGuide.html">HDF5 Application Developer's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
|
||||
<!--
|
||||
And in this document,
|
||||
HDF5 Technical Notes
|
||||
<br>
|
||||
<a href="TechNotes/FreeLists.html">Memory Management and Free Lists</a>
|
||||
-->
|
||||
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<center>
|
||||
<h1>HDF5 Technical Notes</h1>
|
||||
<h3>Technical Notes for HDF5 Library and Driver Developers</h3>
|
||||
</center>
|
||||
|
||||
|
||||
<center>
|
||||
<table border=0 width=85%>
|
||||
|
||||
<tr><td valign=top colspan=3>
|
||||
This informal volume of technical notes is of interest to
|
||||
those who develop and maintain the HDF5 library and
|
||||
related, closely-coupled drivers.
|
||||
These notes are not generally of interest to applications developers
|
||||
and certainly not of interest to users.
|
||||
(Some of these documents may be somewhat out of date as they were
|
||||
working papers for the design process.)
|
||||
<br>
|
||||
<br>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top width=40%><a href="TechNotes/MemoryMgmt.html">
|
||||
Memory Management</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of memory management issues in HDF5
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/FreeLists.html">
|
||||
Memory Management and</a>
|
||||
<br>
|
||||
<a href="TechNotes/FreeLists.html">Free Lists</a>
|
||||
</td><td> </td><td valign=top>
|
||||
Notes regarding the implementation of free lists and memory management
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/HeapMgmt.html">Heap Management</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of the H5H heap management fuctions
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/RawDStorage.html">Raw Data Storage</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of the storage of raw HDF5 data
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/IOPipe.html">I/O Pipeline</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A description of the raw data I/O pipeline
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/BigDataSmMach.html">
|
||||
Large Datasets on Small</a>
|
||||
<br>
|
||||
<a href="TechNotes/BigDataSmMach.html">Machines</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A guide to accessing large datasets on small computers
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/MoveDStruct.html">
|
||||
Relocating a File Data</a>
|
||||
<br>
|
||||
<a href="TechNotes/MoveDStruct.html">Structure</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of the issues involved in moving file data structures once
|
||||
they have been cached in memory
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/ExternalFiles.html">
|
||||
Working with External Files</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A guide to the use of multiple files with HDF5
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/ObjectHeader.html">Object Headers</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of the H5O object header functions
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/SymbolTables.html">
|
||||
Symbol Table Caching Issues</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of issues involving caching of object header messages in
|
||||
symbol table entries
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/H4-H5Compat.html">
|
||||
HDF4/HDF5 Compatibility</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of compatibility issues between HDF4 and HDF5
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/ChunkingStudy.html">
|
||||
Testing the Chunked Layout</a>
|
||||
<br>
|
||||
<a href="TechNotes/ChunkingStudy.html">of HDF5</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A white paper discussing the motivation to implement raw data chunking
|
||||
in the HDF5 library
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/LibMaint.html">Library Maintenance</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of HDF5 library maintenance issues
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/CodeReview.html">Code Review</a>
|
||||
</td><td> </td><td valign=top>
|
||||
Code Review 1 and 2
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/Version.html">
|
||||
Release Version Numbers</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A description of HDF5 release version numbers
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign=top><a href="TechNotes/NamingScheme.html">Naming Schemes</a>
|
||||
</td><td> </td><td valign=top>
|
||||
A discussion of naming schemes for HDF5 library modules, functions,
|
||||
datatypes, etc.
|
||||
</td></tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<hr>
|
||||
<center>
|
||||
<table border=0 width=98%>
|
||||
<tr><td valign=top align=left>
|
||||
<a href="index.html">HDF5 documents and links</a> <br>
|
||||
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
||||
<!--
|
||||
<a href="Glossary.html">Glossary</a><br>
|
||||
-->
|
||||
</td>
|
||||
<td valign=top align=right>
|
||||
<a href="H5.user.html">HDF5 User's Guide</a> <br>
|
||||
<a href="ADGuide.html">HDF5 Application Developer's Guide</a> <br>
|
||||
<a href="RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
||||
|
||||
<!--
|
||||
And in this document,
|
||||
HDF5 Technical Notes
|
||||
<br>
|
||||
<a href="TechNotes/FreeLists.html">Memory Management and Free Lists</a>
|
||||
-->
|
||||
|
||||
</td></tr>
|
||||
</table>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
|
||||
<address>
|
||||
<table width=100% border=0>
|
||||
<tr><td align=left valign=top>
|
||||
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
||||
<br>
|
||||
Last modified: 9 May 1999
|
||||
|
||||
</td><td align=right valign=top>
|
||||
<a href="Copyright.html">Copyright</a>
|
||||
<br>
|
||||
Describes HDF5 Release 1.2.2, June 2000
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/TechNotes/ChStudy_1000x1000.gif
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
doc/html/TechNotes/ChStudy_250x250.gif
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
doc/html/TechNotes/ChStudy_499x499.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
doc/html/TechNotes/ChStudy_5000x1000.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
doc/html/TechNotes/ChStudy_500x500.gif
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
doc/html/TechNotes/ChStudy_p1.gif
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
113
doc/html/TechNotes/ChStudy_p1.obj
Normal file
@@ -0,0 +1,113 @@
|
||||
%TGIF 3.0-p5
|
||||
state(0,33,100,0,0,0,16,1,9,1,1,0,0,3,7,1,1,'Helvetica',0,24,0,0,0,10,0,0,1,1,0,16,0,0,1,1,1,0,1088,1408,0,0,2880).
|
||||
%
|
||||
% @(#)$Header$
|
||||
% %W%
|
||||
%
|
||||
unit("1 pixel/pixel").
|
||||
page(1,"",1).
|
||||
box('black',64,64,384,384,0,1,1,22,0,0,0,0,0,'1',[
|
||||
]).
|
||||
poly('black',2,[
|
||||
128,64,128,384],0,1,1,23,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
192,64,192,384],0,1,1,24,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
256,64,256,384],0,1,1,25,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
320,64,320,384],0,1,1,26,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
64,128,384,128],0,1,1,27,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
64,192,384,192],0,1,1,28,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
64,256,384,256],0,1,1,29,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
64,320,384,320],0,1,1,30,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
text('black',96,80,'Courier',0,17,1,1,0,1,7,14,37,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"1"]).
|
||||
text('black',160,80,'Courier',0,17,1,1,0,1,7,14,39,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"2"]).
|
||||
text('black',224,80,'Courier',0,17,1,1,0,1,7,14,41,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"3"]).
|
||||
text('black',288,80,'Courier',0,17,1,1,0,1,7,14,43,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"4"]).
|
||||
text('black',352,80,'Courier',0,17,1,1,0,1,7,14,47,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"5"]).
|
||||
text('black',96,144,'Courier',0,17,1,1,0,1,7,14,51,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"6"]).
|
||||
text('black',160,144,'Courier',0,17,1,1,0,1,7,14,53,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"7"]).
|
||||
text('black',224,144,'Courier',0,17,1,1,0,1,7,14,55,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"8"]).
|
||||
text('black',288,144,'Courier',0,17,1,1,0,1,7,14,57,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"9"]).
|
||||
text('black',352,144,'Courier',0,17,1,1,0,1,14,14,59,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"10"]).
|
||||
text('black',96,208,'Courier',0,17,1,1,0,1,14,14,61,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"11"]).
|
||||
text('black',160,208,'Courier',0,17,1,1,0,1,14,14,63,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"12"]).
|
||||
text('black',224,208,'Courier',0,17,1,1,0,1,14,14,65,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"13"]).
|
||||
text('black',288,208,'Courier',0,17,1,1,0,1,14,14,67,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"14"]).
|
||||
text('black',352,208,'Courier',0,17,1,1,0,1,14,14,71,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"15"]).
|
||||
text('black',96,272,'Courier',0,17,1,1,0,1,14,14,75,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"16"]).
|
||||
text('black',160,272,'Courier',0,17,1,1,0,1,14,14,77,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"17"]).
|
||||
text('black',224,272,'Courier',0,17,1,1,0,1,14,14,79,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"18"]).
|
||||
text('black',288,272,'Courier',0,17,1,1,0,1,14,14,81,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"19"]).
|
||||
text('black',352,272,'Courier',0,17,1,1,0,1,14,14,83,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"20"]).
|
||||
text('black',96,336,'Courier',0,17,1,1,0,1,14,14,87,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"21"]).
|
||||
text('black',160,336,'Courier',0,17,1,1,0,1,14,14,89,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"22"]).
|
||||
text('black',224,336,'Courier',0,17,1,1,0,1,14,14,91,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"23"]).
|
||||
text('black',288,336,'Courier',0,17,1,1,0,1,14,14,93,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"24"]).
|
||||
text('black',352,336,'Courier',0,17,1,1,0,1,14,14,95,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"25"]).
|
||||
poly('black',2,[
|
||||
416,64,416,384],3,1,1,100,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
poly('black',2,[
|
||||
64,416,384,416],3,1,1,101,0,0,0,0,8,3,0,0,0,'1','8','3',
|
||||
"0",[
|
||||
]).
|
||||
text('black',390,228,'Courier',0,17,1,0,0,1,14,35,102,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,1,0,[
|
||||
390,228,390,228,425,242,0,-1000,1000,0,34,18,389,227,426,243],[
|
||||
"5,000"]).
|
||||
text('black',224,432,'Courier',0,17,1,1,0,1,35,14,116,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"5,000"]).
|
||||
text('black',160,512,'Courier',0,17,1,0,0,1,105,14,131,0,11,3,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"= 1,000 x 1,000"]).
|
||||
box('black',80,480,144,544,7,1,1,134,0,0,0,0,0,'1',[
|
||||
]).
|
||||
text('black',224,16,'Helvetica',0,24,1,1,0,1,296,29,144,0,24,5,0,0,0,0,0,2,0,0,0,0,"",0,0,0,[
|
||||
"Order that data was written"]).
|
||||
box('black',32,0,464,576,0,1,1,149,0,0,0,0,0,'1',[
|
||||
]).
|
||||
190
doc/html/TechNotes/ChunkingStudy.html
Normal file
@@ -0,0 +1,190 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Testing the chunked layout of HDF5</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<i>
|
||||
This document is of interest primarily for its discussion of the
|
||||
HDF team's motivation for implementing raw data caching.
|
||||
At a more abstract level, the discussion of the principles of
|
||||
data chunking is also of interest, but a more recent discussion
|
||||
of that topic can be found in
|
||||
<a href="../Chunking.html">Dataset Chunking Issues</a> in the
|
||||
<cite><a href="../H5.user.html">HDF5 User's Guide</a></cite>.
|
||||
|
||||
The performance study described here predates the current chunking
|
||||
implementation in the HDF5 library, so the particular performance data
|
||||
is no longer apropos.
|
||||
-- the Editor
|
||||
</i>
|
||||
|
||||
<h1>Testing the chunked layout of HDF5</h1>
|
||||
|
||||
<p>This is the results of studying the chunked layout policy in
|
||||
HDF5. A 1000 by 1000 array of integers was written to a file
|
||||
dataset extending the dataset with each write to create, in the
|
||||
end, a 5000 by 5000 array of 4-byte integers for a total data
|
||||
storage size of 100 million bytes.
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<img alt="Order that data was written" src="ChStudy_p1.gif">
|
||||
<br><b>Fig 1: Write-order of Output Blocks</b>
|
||||
</center>
|
||||
|
||||
<p>After the array was written, it was read back in blocks that
|
||||
were 500 by 500 bytes in row major order (that is, the top-left
|
||||
quadrant of output block one, then the top-right quadrant of
|
||||
output block one, then the top-left quadrant of output block 2,
|
||||
etc.).
|
||||
|
||||
<p>I tried to answer two questions:
|
||||
<ul>
|
||||
<li>How does the storage overhead change as the chunk size
|
||||
changes?
|
||||
<li>What does the disk seek pattern look like as the chunk size
|
||||
changes?
|
||||
</ul>
|
||||
|
||||
<p>I started with chunk sizes that were multiples of the read
|
||||
block size or k*(500, 500).
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<table border>
|
||||
<caption align=bottom>
|
||||
<b>Table 1: Total File Overhead</b>
|
||||
</caption>
|
||||
<tr>
|
||||
<th>Chunk Size (elements)</th>
|
||||
<th>Meta Data Overhead (ppm)</th>
|
||||
<th>Raw Data Overhead (ppm)</th>
|
||||
</tr>
|
||||
|
||||
<tr align=center>
|
||||
<td>500 by 500</td>
|
||||
<td>85.84</td>
|
||||
<td>0.00</td>
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<td>1000 by 1000</td>
|
||||
<td>23.08</td>
|
||||
<td>0.00</td>
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<td>5000 by 1000</td>
|
||||
<td>23.08</td>
|
||||
<td>0.00</td>
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<td>250 by 250</td>
|
||||
<td>253.30</td>
|
||||
<td>0.00</td>
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<td>499 by 499</td>
|
||||
<td>85.84</td>
|
||||
<td>205164.84</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<center>
|
||||
<img alt="500x500" src="ChStudy_500x500.gif">
|
||||
<br><b>Fig 2: Chunk size is 500x500</b>
|
||||
</center>
|
||||
|
||||
<p>The first half of Figure 2 shows output to the file while the
|
||||
second half shows input. Each dot represents a file-level I/O
|
||||
request and the lines that connect the dots are for visual
|
||||
clarity. The size of the request is not indicated in the
|
||||
graph. The output block size is four times the chunk size which
|
||||
results in four file-level write requests per block for a total
|
||||
of 100 requests. Since file space for the chunks was allocated
|
||||
in output order, and the input block size is 1/4 the output
|
||||
block size, the input shows a staircase effect. Each input
|
||||
request results in one file-level read request. The downward
|
||||
spike at about the 60-millionth byte is probably the result of a
|
||||
cache miss for the B-tree and the downward spike at the end is
|
||||
probably a cache flush or file boot block update.
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<center>
|
||||
<img alt="1000x1000" src="ChStudy_1000x1000.gif">
|
||||
<br><b>Fig 2: Chunk size is 1000x1000</b>
|
||||
</center>
|
||||
|
||||
<p>In this test I increased the chunk size to match the output
|
||||
chunk size and one can see from the first half of the graph that
|
||||
25 file-level write requests were issued, one for each output
|
||||
block. The read half of the test shows that four times the
|
||||
amount of data was read as written. This results from the fact
|
||||
that HDF5 must read the entire chunk for any request that falls
|
||||
within that chunk, which is done because (1) if the data is
|
||||
compressed the entire chunk must be decompressed, and (2) the
|
||||
library assumes that a chunk size was chosen to optimize disk
|
||||
performance.
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<center>
|
||||
<img alt="5000x1000" src="ChStudy_5000x1000.gif">
|
||||
<br><b>Fig 3: Chunk size is 5000x1000</b>
|
||||
</center>
|
||||
|
||||
<p>Increasing the chunk size further results in even worse
|
||||
performance since both the read and write halves of the test are
|
||||
re-reading and re-writing vast amounts of data. This proves
|
||||
that one should be careful that chunk sizes are not much larger
|
||||
than the typical partial I/O request.
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<center>
|
||||
<img alt="250x250" src="ChStudy_250x250.gif">
|
||||
<br><b>Fig 4: Chunk size is 250x250</b>
|
||||
</center>
|
||||
|
||||
<p>If the chunk size is decreased then the amount of data
|
||||
transfered between the disk and library is optimal for no
|
||||
caching, but the amount of meta data required to describe the
|
||||
chunk locations increases to 250 parts per million. One can
|
||||
also see that the final downward spike contains more file-level
|
||||
write requests as the meta data is flushed to disk just before
|
||||
the file is closed.
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<center>
|
||||
<img alt="499x499" src="ChStudy_499x499.gif">
|
||||
<br><b>Fig 4: Chunk size is 499x499</b>
|
||||
</center>
|
||||
|
||||
<p>This test shows the result of choosing a chunk size which is
|
||||
close to the I/O block size. Because the total size of the
|
||||
array isn't a multiple of the chunk size, the library allocates
|
||||
an extra zone of chunks around the top and right edges of the
|
||||
array which are only partially filled. This results in
|
||||
20,516,484 extra bytes of storage, a 20% increase in the total
|
||||
raw data storage size. But the amount of meta data overhead is
|
||||
the same as for the 500 by 500 test. In addition, the mismatch
|
||||
causes entire chunks to be read in order to update a few
|
||||
elements along the edge or the chunk which results in a 3.6-fold
|
||||
increase in the amount of data transfered.
|
||||
|
||||
<hr>
|
||||
<address><a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a></address>
|
||||
<!-- Created: Fri Jan 30 21:04:49 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 30 Jan 1998 (technical content)
|
||||
<br>
|
||||
Last modified: 9 May 2000 (editor's note)
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
||||