[svn-r3621] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'.
This commit is contained in:
169
doc/html/Tutor/property.html
Normal file
169
doc/html/Tutor/property.html
Normal file
@@ -0,0 +1,169 @@
|
||||
<HTML><HEAD>
|
||||
<TITLE>HDF5 Tutorial - Property Lists
|
||||
</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<!-- BEGIN MAIN BODY -->
|
||||
|
||||
<A HREF="http://www.ncsa.uiuc.edu/"><img border=0
|
||||
src="http://www.ncsa.uiuc.edu/Images/NCSAhome/footerlogo.gif"
|
||||
width=78 height=27 alt="NCSA"><P></A>
|
||||
|
||||
[ <A HREF="title.html"><I>HDF5 Tutorial Top</I></A> ]
|
||||
<H1>
|
||||
<BIG><BIG><BIG><FONT COLOR="#c101cd">Property Lists</FONT>
|
||||
</BIG></BIG></BIG></H1>
|
||||
|
||||
<hr noshade size=1>
|
||||
|
||||
<BODY>
|
||||
<!--
|
||||
<H2>Contents:</H2>
|
||||
<UL>
|
||||
<LI> <A HREF="#def">Definition of Property Lists</A>
|
||||
</UL>
|
||||
<HR>
|
||||
<A NAME="def">
|
||||
-->
|
||||
<P>
|
||||
The property list interface provides a mechanism for adding functionality
|
||||
to HDF5 calls, without increasing the number of arguments used
|
||||
for a given call.
|
||||
<P>
|
||||
A property list is a collection of values which can
|
||||
be passed to various HDF5 functions to control features that
|
||||
are typically unimportant or whose default values are usually used
|
||||
(by specifying <code>H5P_DEFAULT</code> / <CODE>H5P_DEFAULT_F</CODE>).
|
||||
<P>
|
||||
It supports unusual cases when:
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#cf">Creating Files</A>
|
||||
<LI><A HREF="#fa">Accessing Files</A>
|
||||
<LI><A HREF="#cd">Creating Datasets</A>
|
||||
<LI><A HREF="#rdwt">Reading or Writing Data</A>
|
||||
</UL>
|
||||
|
||||
|
||||
<A NAME="cf">
|
||||
<H3>Creating Files</H3>
|
||||
The File Creation property list, H5P_FILE_CREATE, applies to H5Fcreate()
|
||||
only and is used to control the file metadata which is maintained in the
|
||||
super block of the file. The parameters that can be modified are:
|
||||
user-block size, offset and length sizes, symbol table parameters,
|
||||
and index storage parameters.
|
||||
<P>
|
||||
The following example shows how to create a file with 64-bit object
|
||||
offsets and lengths:
|
||||
<PRE>
|
||||
hid_t create_plist;
|
||||
hid_t file_id;
|
||||
|
||||
create_plist = H5Pcreate(H5P_FILE_CREATE);
|
||||
H5Pset_sizes(create_plist, 8, 8);
|
||||
|
||||
file_id = H5Fcreate("test.h5", H5F_ACC_TRUNC,
|
||||
create_plist, H5P_DEFAULT);
|
||||
.
|
||||
.
|
||||
.
|
||||
H5Fclose(file_id);
|
||||
</PRE>
|
||||
|
||||
<A NAME="fa">
|
||||
<H3>Accessing Files</H3>
|
||||
The File Access property list, H5P_FILE_ACCESS, applies to H5Fcreate() and
|
||||
H5Fopen() and is used to control different methods of
|
||||
performing I/O on files. The different types of I/O are: unbuffered I/O,
|
||||
buffered I/O, memory I/O, parallel files using MPI I/O, and data alignment.
|
||||
<P>
|
||||
Following is an example of using the H5P_FILE_ACCESS property list for creating
|
||||
HDF5 files with the metadata and data split into different files:
|
||||
<BR>
|
||||
[ <A HREF="examples/h5split.c">C program</A> ]
|
||||
- <code>h5split.c</code><BR>
|
||||
<P>
|
||||
|
||||
<A NAME="cd">
|
||||
<h3>Creating Datasets</H3>
|
||||
The Dataset Creation property list, H5P_DATASET_CREATE, applies to
|
||||
H5Dcreate() and controls 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:
|
||||
<P>
|
||||
<UL>
|
||||
<LI>Layout:
|
||||
<UL>
|
||||
<LI>H5D_COMPACT: Data is small and can be stored in object header (<I>not
|
||||
implemented yet</I>). This eliminates disk seek/read requests.
|
||||
<P>
|
||||
<LI>H5D_CONTIGUOUS: (default) The data is large, non-extendible,
|
||||
non-compressible, non-sparse, and can be stored externally.
|
||||
<P>
|
||||
<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.
|
||||
Following is an example that uses the H5P_DATASET_CREATE property list to create
|
||||
a chunked and extendible dataset:
|
||||
<BR>
|
||||
[ <A HREF="examples/h5_extend.c">C program</A> ]
|
||||
- <code>h5_extend.c</code><BR>
|
||||
<P>
|
||||
</UL>
|
||||
<LI>Compression: (gzip compression)
|
||||
<LI>External Storage Properties: The data must be contiguous to be stored
|
||||
externally. It allows you to store the data in one or more non-HDF5 files.
|
||||
Following is an example of using the H5P_DATASET_CREATE property list to
|
||||
create a dataset in an external file:
|
||||
<BR>
|
||||
[ <A HREF="examples/h5_crtextd.c">C program</A> ]
|
||||
- <code>h5_crtextd.c</code><BR>
|
||||
<P>
|
||||
</UL>
|
||||
</UL>
|
||||
<A NAME="rdwt">
|
||||
<H3>Reading or Writing Data</H3>
|
||||
|
||||
The Data Transfer property list, H5P_DATASET_XFER, is used to control
|
||||
various aspects of I/O, such as caching hints or collective I/O information.
|
||||
<P>
|
||||
The following code sets the maximum size for the type conversion buffer
|
||||
and background buffer:
|
||||
<PRE>
|
||||
plist_xfer = H5Pcreate (H5P_DATASET_XFER);
|
||||
H5Pset_buffer(plist_xfer, (hsize_t)NX*NY*NZ, NULL, NULL);
|
||||
status = H5Dread (dataset, H5T_NATIVE_UCHAR, memspace, dataspace,
|
||||
plist_xfer);
|
||||
</PRE>
|
||||
See:<BR>
|
||||
[ <A HREF="examples/h5_xfer.c">C program</A> ]
|
||||
- <code> h5_xfer.c</code><BR>
|
||||
|
||||
|
||||
<!-- BEGIN FOOTER INFO -->
|
||||
|
||||
<P><hr noshade size=1>
|
||||
<font face="arial,helvetica" size="-1">
|
||||
<a href="http://www.ncsa.uiuc.edu/"><img border=0
|
||||
src="http://www.ncsa.uiuc.edu/Images/NCSAhome/footerlogo.gif"
|
||||
width=78 height=27 alt="NCSA"><br>
|
||||
The National Center for Supercomputing Applications</A><br>
|
||||
<a href="http://www.uiuc.edu/">University of Illinois
|
||||
at Urbana-Champaign</a><br>
|
||||
<br>
|
||||
<!-- <A HREF="helpdesk.mail.html"> -->
|
||||
<A HREF="mailto:hdfhelp@ncsa.uiuc.edu">
|
||||
hdfhelp@ncsa.uiuc.edu</A>
|
||||
<br>
|
||||
<BR> <H6>Last Modified: February 12, 2001</H6><BR>
|
||||
<!-- modified by Barbara Jones - bljones@ncsa.uiuc.edu -->
|
||||
</FONT>
|
||||
<BR>
|
||||
<!-- <A HREF="mailto:hdfhelp@ncsa.uiuc.edu"> -->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user