BES - Modules - The HDF4 Handler

From OPeNDAP Documentation
Revision as of 16:57, 20 September 2011 by Jimg (talk | contribs) (Created page with "== Kinds of files the handler will serve == This release of the server supports HDF4.2 and can read any file readable using that version of the API. It also supports reading/par...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
⧼opendap2-jumptonavigation⧽

Kinds of files the handler will serve

This release of the server supports HDF4.2 and can read any file readable using that version of the API. It also supports reading/parsing HDF-EOS attribute information and provides some special mappings for HDF-EOS files depeding on the handler's build options.

Mappings between the HDF4 data model and DAP2 data types

SDS
This is mapped to a DAP2 Grid (if it has a dimension scale) or Array (if it lacks a dim scale).
Raster image
This is read via the HDF 4.0 General Raster interface and is mapped to Array. Each component of a raster is mapped to a new dimension labeled accordingly. For example, a 2-dimensional, 3-component raster is mapped to an m x n x 3 Array.
Vdata
This is mapped to a Sequence, each element of which is a Structure. Each subfield of the Vdata is mapped to an element of the Structure. Thus a Vdata with one field of order 3 would be mapped to a Sequence of 1 Structure containing 3 base types. Note: Even though these appear as Sequences, the data handler does not support applying relational constraints to them. You can use the array notation to request a range of elements.
Attributes
HDF attributes on SDS, rasters are straight-forwardly mapped to DAP attributes (HDF doesn't yet support Vdata attributes). File attributes (both SDS, raster) are mapped as attributes of a DAP variable called "HDF_GLOBAL" (by analogy to the way DAP handles netCDF global attributes, i.e., attaching them to "NC_GLOBAL").
Annotations
HDF file annotations mapped in the DAP to attribute values of type "String" attached to the fake DAP variable named "HDF_ANNOT". HDF annotations on objects are currently not read by the server.
Vgroups
Vgroups are straight-forwardly mapped to Structures.


Configuration parameters

CacheDir=

The HDF4 often reads very large files and, to save time building and rebuilding the same metadata responses for them, can cache those responses. This parameter determine if and where those responses are cached.

Accepted values: a pathname, defaults to empty which disables the cache.

Example:

   HDF4.CacheDir=/usr/local/servers/hyrax-1.7/var/hdf4_cache