|
IntroductionHDF 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:
Every HDS object has a shape or dimensionality, even structures although these usually have a dimension of zero. To summarise:
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. [Next: Setting up] [Back to Contents] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|