Each line will have an identifying first character followed by a string of
appropriate syntax and terminated by a new-line character (` n' in C, any
carriage return characters will be ignored).
Each entry of a global attribute of char data type contains a single string, but
without the null terminator. Global attributes of other data types may have more
than one element per entry. At present multiple elements are only necessary for
the attribute `Data_intervals', which is constructed by the CDHF CDF writing
software, and is not required in the .iff files. Nevertheless, a facility is
provided for general processing, and against future evolution of CSDS CDF file
design. Thus if multiple values are supplied in the global attribute line in the
.iff file e.g.
G Attribute_name
Value1 Value2 Value3
where Valuen are data types other
than char strings, they will be entered as successive elements in a single global
attribute entry.
Note that the `UTC_time_tag' is provided only to improve the readibility of the file. The actual time used within the CDF will be taken from the `millisecs_time_tag' entry (to calculate the Epoch variable).
Each entry in the record is separated by at least one space character.
Any variable of data type `character' must be delimited by double quotes since they may contain white space or other characters. Character type variables may be multiple entry and are stored as text strings in the CDF file, they are entered in the .iff file as quoted strings (e.g. "A %+"). Since the Status variables have become arrays of 1-byte integers, there are no character type variables for any of the UK led instruments in the CSDS data base. This facility is, however, retained against future evolution of the CSDS data products.
Dependent variables must be supplied in the same order that they appear in the appropriate skeleton files. This is the same as the order used in the instrument-specific appendices, where sample files are provided. Elements of GSE vectors must appear in the `natural' order, x,y,z, separated by spaces. No PPD or SPD data products have higher dimensionality than vector, but the CDHF supplied code will be able to write variables of any dimensionality and size into CSDS compliant CDF files. When used for these non-CSDS files with higher dimension data, the order of array elements should be the natural order in C programs, that is the last index varies the fastest (e.g. A[0][0] \ A[0][1] A[1][0] A[1][1] for a 2x2 array) with elements separated by at least one white space character. The input record length is limited to 400 characters as this is sufficient for all UK CSDS data files, but this limit may readily be increased to accomodate input of large data arrays.
Note that it is intended that this line may be written by the same function call that writes the data records to ensure exact matching of sample fill values and those encountered in records. To enable this, the fill value line must have a dummy record number and time text string as place holders, see examples in appendices. Similarly, if hexadecimal escapes are used for numeric byte data type values in a record line the hexadecimal escape must be used for the fill value as these are detected using string comparisons between the `U' entries and the `R' entries.
Only one fill value line is required per interface file, and this may appear anywhere before the `End_of_data' marker. If multiple fill value lines are encountered, the last such line will be used.