<html><head><title> HDF5 Glossary </title></head> <body> <hr> <center> <table border=0 width=98%> <tr><td valign=top align=left> <a href="index.html">Other 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 Guide</a> <br> <a href="RM_H5Front.html">HDF5 Reference Manual</a> </td></tr> </table> </center> <hr> <center> <h1>HDF5 Glossary</h1> </center> <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> <DL> <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>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> <table border=0 width=98%> <tr><td valign=top align=left> <a href="index.html">Other 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 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> <br> Last modified: 18 October 1999 </body> </html>