---
name: "hdf"
section: "5"
platform: "linux"
package: "libhdf4g"
version: "4.1r4-22"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/hdf/5"
---

# hdf(5)

Hierarchical Data Format library

## 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.
  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.**

```
   HDFINC    = /usr/include/hdf
   (FORTRAN):
   f77 myprog.f -I{HDFINC} -o myprog -lmfhdf -ldf -ljpeg -lz
   (C):
   cc myprog.c -I{HDFINC} -o myprog -lmfhdf -ldf -ljpeg -lz
```

## 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 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/lib/hdf/{libmfhdf,libdf,libjpeg,libz}.{a,so}**

  **hdf libraries**

- **/usr/bin**

  **Location of most hdf utilities**

- **/usr/include/hdf**

  **Location of include file hdf.h and others**

## SEE ALSO

[**hdfls**(1)](/hdfls/1.md), [**hdfpack**(1)](/hdfpack/1.md), [**hdfunpac**(1)](/hdfunpac/1.md), [**hdp**(1)](/hdp/1.md)
