HDF(1) NCSA HDF 4.1 (July 1996) HDF(1)
NAME
hdf - 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 various 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
contains 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 versions of HDF, Run-length
encoding and Imcomp compression were both supported. With
HDF> 3.3 JPEG compression is also available.
HDF Scientific Data Sets
Scientific Data Sets (SDSs) are useful for storing n-
Dimensional gridded data. The actual data in the dataset
can be of any of the "standard" 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.
Page 1 (printed 7/15/00)
HDF(1) NCSA HDF 4.1 (July 1996) HDF(1)
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 transparently.
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.
Page 2 (printed 7/15/00)
HDF(1) NCSA HDF 4.1 (July 1996) HDF(1)
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 documentation 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 APPLICATIONS (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 WARRANTY. THE UI SHALL NOT BE LIABLE FOR
Page 3 (printed 7/15/00)
HDF(1) NCSA HDF 4.1 (July 1996) HDF(1)
ANY DAMAGES SUFFERED BY THE USER OF THIS SOFTWARE. The
software may have been developed under agreements between
the UI and the Federal Government which entitle the
Government 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 conditions 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 California, 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 ALSO
hdfls(1), hdfpack(1), hdfunpac(1), hdp(1)
Page 4 (printed 7/15/00)