The SSDS represents a specialised database - the storage of source search results. Following the usual database jargon, a record comprises the information on one source, and a field a piece of information present in all records. By using HDS, the SSO file format is field oriented (ie. accessing all the data in one field for all records is considerably easier than accessing all the fields for one record).
The structure of an SSDS can be described schematically,
<SSDS> <BOOK>[] <MORE> <PARAMETERS> <NSRC> <FIELD> <DATA_ARRAY> [<ERROR>] [<ITEMS>]...
The BOOK structure (short for book-keeping) contains information propagated from the dataset searched to create the SSDS - currently the MORE box is copied. In addition, database parameters are written into BOOK - eg. the version of the program which created the SSDS, the parameters which were used to run the program, and others. If the file type is SSDS_SET, then BOOK is actually an array of structures holding all the book-keeping data from its constituent SSDS's.
NSRC is the number of records in the SSDS - it may be zero.
Each SSDS field may contain several components. The only one required is the DATA_ARRAY. This is a primitive array of values, whose last (and usually only) dimension is the value of NSRC. A field may optionally contain an ERROR array giving errors on the field values. The <ITEMS> components are extra information required to interpret the field values or errors correctly. The SSO system does not standardise the names of these ITEMS, but the the following are the only ones currently used.
Item Type Contents UNITS _CHAR*40 The units of the field value ELEVS _REAL[] The error confidence levels of the ERROR data NULLERROR _REAL The value used to denote a "bad" field error NULLVALUE any The value used to denote a "bad" field value