HDF(1)HDF(1)NAMEhdf - Hierarchical Data Format library
SYNOPSIS-lmfhdf -ldf -ljpeg -lz
{HDFLIBDIR}/libmfhdf.a {HDFLIBDIR}/libdf.a {HDFLIBDIR}/libjpeg.a
{HDFLIBDIR}/libz.a
DESCRIPTION
HDF is a multi-object file format that facilitates the transfer of var‐
ious types of scientific data between machines and operating systems.
Machines currently supported include the Cray, HP, Vax, Sun, IBM
RS/6000, Silicon Graphics, Macintosh, and IBM PC computers. HDF allows
self-definitions of data content and easy extensibility for future
enhancements or compatibility with other standard formats. HDF includes
Fortran and C calling interfaces,and utilities to prepare raw image of
data files or for use with other NCSA software. The HDF library con‐
tains interfaces for storing and retrieving compressed or uncompressed
8-bit and 24-bit raster images with palettes, n-Dimensional scientific
datasets and binary tables. An interface is also included that allows
arbitray grouping of other HDF objects.
HDF Raster Images
HDF supports the storing of both 8-bit and 24-bit raster images. As
well as storing information about the dimensions and palette of a
raster image, HDF supports raster image compression. In previous ver‐
sions of HDF, Run-length encoding and Imcomp compression were both sup‐
ported. With HDF> 3.3 JPEG compression is also available.
HDF Scientific Data Sets
Scientific Data Sets (SDSs) are useful for storing n-Dimensional grid‐
ded data. The actual data in the dataset can be of any of the "stan‐
dard" number types: 8, 16 and 32bit signed and unsigned integers and 32
and 64bit floating point values. In addition, a certain amount of
meta-data can be stored with an SDS including:
o The coordinate system to use when interpreting or displaying the data.
o Scales to be used for each dimension.
o Labels for each dimension and the dataset as a whole.
o Units for each dimension and the data.
o The valid max and min values for the data.
o Calibration information for the data.
o Fill or missing value information.
o Ability of have more than one file open at a time.
o A more general framework for meta-data within the SDS data-model
(allowing 'name = value' styel meta-data).
o Support for an "unlimited dimension" in the SDS data-model, making
it possible to append planes to an array along one dimension.
HDF Annotations
Any object in an HDF file can have annotations associated with it.
There are a number of types of annotations:
o Labels are assumed to be short strings giving the "name" of a
data object.
o Descriptions are longer text segments that are useful for giving
more indepth information about a data object
o File annotations are assumed to apply to all of the objects in a
single file.
HDF Vset Interfaces
The Vset module provides interfaces to two basic HDF building blocks.
Vgroups are generic grouping elements allowing a user to associate
related objects within an HDF file. As Vgroups can contain other
Vgroups, it is possible to build a hierarchical file. Vdatas are data
structures made up of fields and records. Data is organized into
'fields' within each Vdata. Each field is identified by a unique
'fieldname'. The type of each field may be any of the basic number
types that HDF supports. Fields of different types may exist within
the same Vdata.
By combining Vdatas in Vgroups it is possible to represent higher level
data constructs: mesh data, multi-variate datasets, sparse matrices,
finite-element data, spreadsheets, splines, non-Cartesian coordinate
data, etc.
HDF > 3.3 and netCDF
HDF > 3.3 merges in the netCDF library produced by Unidata. The full
netCDF library is supported as is a new "multi-file" SDS interface.
Both of these interfaces can read old netCDF files and HDF files trans‐
parently.
EXAMPLES
All HDF routines require the header "hdf.h" to be included in the C
source file. If using the SDS routines the header "mfhdf.h" should be
included instead in in the C source file. Fortran programs should use
"dffunc.inc" and "hdf.inc".
To compile a program that makes HDF calls on most Unix platforms.
HDFLIBDIR = /usr/local/lib/hdf
HDFINC = /usr/local/include/hdf
(FORTRAN):
f77 myprog.f -I{HDFINC} -o myprog {HDFLIBDIR}/libmfhdf.a \
{HDFLIBDIR}/libdf.a {HDFLIBDIR}/libjpeg.a {HDFLIBDIR}/libz.a
(C):
cc myprog.c -I{HDFINC} -o myprog {HDFLIBDIR}/libmfhdf.a \
{HDFLIBDIR}/libdf.a {HDFLIBDIR}/libjpeg.a {HDFLIBDIR}/libz.a
DOCUMENTATION
The HDF WWW page is located at http://hdf.ncsa.uiuc.edu/
For the vast majority of users, the "Users Guide" documents and the
"Reference" manuals should be sufficient.
You may download the documentation via ftp on NCSA's anonymous ftp
server. (ftp.ncsa.uiuc.edu:/HDF). On anonymous ftp there the documenta‐
tion is available in Postscript, PDF and MIF.
VENDOR
NCSA Software Development Division
Hierarchical Data Format Group
152 Computing Applications Bldg.
605 E. Springfield Ave.
Champaign, IL 61820
VERSION
4.1
LICENSE & SOURCE AVAILABILITY
UNIVERSITY OF ILLINOIS (UI), NATIONAL CENTER FOR SUPERCOMPUTING APPLI‐
CATIONS (NCSA), Software Distribution Policy for Public Domain Software
NCSA HDF Version 4.1 source code and documentation are in the public
domain, available without fee for education, research, non-commercial
and commercial purposes. Users may distribute the binary or source
code to third parties provided that this statement appears on all
copies and that no charge is made for such copies.
UI MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WAR‐
RANTY. THE UI SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USER
OF THIS SOFTWARE. The software may have been developed under agree‐
ments between the UI and the Federal Government which entitle the Gov‐
ernment to certain rights.
We ask, but do not require that the following message be include in all
derived works:
Portions developed at the National Center for Supercomputing
Applications at the University of Illinois at Urbana-Champaign.
By copying this program, you, the user, agree to abide by the condi‐
tions and understandings with respect to any software which is marked
with a public domain notice.
Acknowledgements: ----------------
Portions of this software were developed by the Unidata Program at the
University Corporation for Atmospheric Research, specifically the
NETCDF distribution used.
This product also includes software developed by the Independent JPEG
Group, specifically the IJPEG library libjpeg.a.
This product also includes software developed by Jean-loup Gailly and
Mark Adler , specifically the ZLIB library libz.a.
This product includes software developed by the University of Califor‐
nia, Berkeley and its contributors.
CONTACT & HELP
NCSA Software Deveopment Division
Hierarchical Data Format Group
email: hdfhelp@ncsa.uiuc.edu
FILES
/usr/local/lib/hdf/{libmfhdf.a,libdf.a,libjpeg.a,libz.a}
hdf libraries
/usr/local/bin Location of most hdf utilities
/usr/local/include/hdf Location of include file hdf.h and others
SEE ALSOhdfls(1), hdfpack(1), hdfunpac(1), hdp(1)NCSA HDF 4.1 July 1996 HDF(1)