---
name: "hdf"
section: "3"
platform: "linux"
package: "libhdf4-alt-dev"
version: "4.2.15-5"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/hdf/3"
---

# hdf(3)

Hierarchical Data Format library

## NAME

hdf - Hierarchical Data Format library

## SYNOPSIS

**-lmfhdf -ldf -ljpeg -lz \[ -lsz \]**

**/usr/lib/libmfhdf.a /usr/lib/libdf.a /usr/lib/libjpeg.a /usr/lib/libz.a /usr/lib/libsz.a**

## DESCRIPTION

**HDF is a multi-object file format that facilitates the transfer of various**  **types of scientific data between machines and operating systems.  See** **http://www.hdfgroup.org/release4/platforms.html for a list of platforms** **currently supported.**

**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 for manipulating,** **viewing, and analyzing data in HDF files. 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 arbitrary** **grouping of other HDF objects.**

### HDF Raster Images

**HDF supports the storing of both 8-bit and 24-bit raster images.  Beside** **storing information about the dimensions and palette of a raster image, HDF** **supports raster image compression.  In previous versions of HDF** **(DF interfaces,) Run-length encoding and Imcomp compression were both** **supported.  The currently supported compression methods include simple** **RLE, N-bit, Skipping huffman, Gzip, Szip, and JPEG.  Although no longer** **support Imcomp compression, the library can read images with Imcomp compression.**

### 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 having more than one file open at a time.
  o A more general framework for meta-data within the SDS data-model
    (allowing 'name = value' style 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 and netCDF

**Starting with HDF version 3.3, netCDF v.2.3.2 of Unidata is supported with the** **SD multifile interface. SD and netCDF interfaces can read both netCDF files** **and multi-dimensional arrays (SDS) stored in the HDF4 files transparently.** **For more information, see Chapter 3, "Scientific Data Sets", of the HDF** **User's Guide.**

**To disable netCDF interfaces in the HDF library, configure the library using** **--disable-netcdf flag and rebuild it.**

### EXAMPLES

**All HDF routines require the header "hdf.h" to be included in the C** **source file, unless if the SD routines are used, then the header "mfhdf.h"** **should be included instead.**

**Fortran programs should use "dffunc.inc" for all interfaces, "mffunc.inc"** **for the SD interfaces, and "hdf.inc" for non-SD interfaces.**

**To compile a program that makes HDF calls on most Unix platforms.**

   **(FORTRAN):**\
    **{HDFLIBDIR}/bin/h4fc myprog.f**

   **(C):**\
    **{HDFLIBDIR}/bin/h4cc myprog.c**

## DOCUMENTATION

**The HDF web site is located at http://www.hdfgroup.org/.**

**For the vast majority of users, the "HDF User's Guide" and**  **"HDF Reference Manual" should be sufficient.**

**These documents can be viewed or downloaded at**

**http://www.hdfgroup.org/products/hdf4/.**

## VENDOR

**The HDF Group**

**1800 South Oak Street, Suite 203**

**Champaign, IL 61820**

**USA**

**www.hdfgroup.org**

## VERSION

**4.2.15**

## LICENSE & SOURCE AVAILABILITY

**Copyright by The HDF Group.**

**Copyright by the Board of Trustees of the University of Illinois.**

**All rights reserved.**

**This file is part of HDF.  The full HDF copyright notice, including** **terms governing use, modification, and redistribution, is contained in** **the COPYING file, which can be found at the root of the source code** **distribution tree, or in https://support.hdfgroup.org/ftp/HDF/releases/.**

**If you do not have access to either file, you may request a copy from** **help@hdfgroup.org.**

## CONTACT & HELP

**The HDF Group**

**Email: help@hdfgroup.org**

## FILES

- **/usr/lib/{libmfhdf,libdf,libjpeg,libz,libsz}.{a,so}**

  **hdf libraries**

- **/usr/bin**

  **Location of most hdf utilities**

- **/usr/include/hdf**

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