The UIO routines only handle sequential files. Each file consists of a list of entries. The first entry describes the file format, conversion type, and the machine who is responsible for it. The following entries contain data (scalars and 1D ...4D arrays of type integer, real (single & double precision), complex (single precision), character; tables with columns of type integer, real (single precision), or character), or structuring information (labels).
Each entry consists of the header and the (possibly empty) data block.
Each header is a list of at most 20 terms separated by blanks or linefeeds.
The first term is the entry type (e.g.
real, see table 7),
followed by an identifier.
This identifier should follow the standard rules for variables
(lowercase letters, numbers, underscore; starting with letter).
It is a name as e.g.
The rest of the terms come in the form ``keyword=value''.
See Tab. 8 for some pre-defined keywords.
A header line has a maximum length of 80 characters.
A continuation line is indicated by
& at the end of the line.
A header consists of 20 lines at maximum.
It can be preceded by empty lines (except for the file header entry).
The entry header is followed by the entry data block. This block is empty for labels and the fileform entry but non-empty otherwise.
In an unformatted file each header line is an individual record containing a string with exactly 80 characters. The following data block (scalar or array) is one single record.
In a formatted file each header line is a string of at most 80 characters
delimited by a
LINEFEED of whatever the operating system decided to be
EOL character (sequence).
The following data block is written as sequence of lines.
The number of items per line is specified by the ``p=?'' keyword in the header.