LEDAS  
Leicester Database and Archive Service
 
Mission
    Description
Products
    Databases
Raw Data
    Archive
Analysis Software
    Archive
Ginga Information
Ginga Gallery
Related Sites
Databases
GINGALAC
GINGABGD
GINGAFRF
GINGALOG
GINGAMODE
GINGARAW
View Ginga DBs
Line
Footer
e-mail

Introduction

HDF is a package of QCL commands which enable you to manipulate Starlink Heirarchical Data System (HDS) structures and data objects.

HDS is a flexible system for storing and retrieving data and takes over from a computer's filing system at the level of an individual file (see figure 1). In fact, there are many parallels between the hierarchical way HDS stores data within files and the way that a filing system organises the files themselves. The advantage of HDS is that it allows many different kinds of data to be stored in a consistent and logical fashion. It is also very flexible, in that objects can be added or deleted whilst retaining the logical structure.

HDS files are known as container files and contain data objects which will often be referred to simply as objects. An object is an entity which contains data or other objects. This is the basis of the hierarchical nature of HDS and is analogous to the concepts of file and directory. The primary way of identifying an HDS object is by its name, which must be unique within its own container object. The maximum length of an HDS name is 15 characters. HDS objects can be one of two types:

  • Structure
  • Primitive
Structure objects contain other objects called components. Primitive objects contain only numeric, character, or logical values. Structures are analogous to the directories in a filing system and primitives are analogous to files. Structure types are represented by a character string of maximum length 15 characters (a structure type may also be completely blank). A structure type may not start with an underscore character "_", so they are easily distinguished from primitive types, which do. Primitive types are pre-defined as follows

HDS type FORTRAN type Description
_INTEGER INTEGER Integer (signed)
_REAL REAL Single Precision
_DOUBLE DOUBLE PRECISION Double precision
_LOGICAL LOGICAL Logical
_CHAR[*n] CHARACTER[*n] Character string

Every HDS object has a shape or dimensionality, even structures although these usually have a dimension of zero.

To summarise:
  1. A container file name joke.sdf is like a directory directory dir.
  2. A structure object name node1.node2 is like a directory dir1/dir2.
  3. A primitive object name time_sample is like a file name data_file.dat.

Different object names can be joined together to form a complete specification of a data object.

joke.sdf%node1.node2.time_sample

The % character is used to separate the container file name from the internal structure specification.

HDF also allows access to "slices" of dimensioned primitive objects in HDS files. This is done by appending a slice specification to the end of the object name.

array(3:4,5) or data(3,4,5) etc.

The slice specification is enclosed in parentheses and ranges of a given subscript are indicated by two integers separated by a colon. If no colons are present then a single cell or element of the object is refered to.


[] [Back to Contents]
 
HOME
SEARCH
SERVICES INFO SOFTWARE ViZieR BLASTA DSS
ARCHIVES ASCA CHANDRA GINGA ROSAT ARNIE