There are currently five file types which can be dealt with in one manner or another within the DESL system. All of the DESL functions except the translate function need to operate on and will produce (if the function produces files) SIF files. The translate function can read and write all five file types, offering a means whereby files types other than the binary SIF file can be used as starting points or ending points in a DESL session. See the DESL overview for a sketch of a typical flow of files through the system.
The SIF (Standard Interface File) concept has existed for many years. (See NASA CR159284). The self-describing SIF file structure serves to provide a simple means of standardization of I/O interfaces among codes which need to read and/or write such files and, at the same time, contain numeric data in a very compact form.
Although data files of other than the SIF form can be dealt with, such files must be translated into a SIF file before the information in the file can be used within DESL. Likewise, SIF files which may be produced in DESL must usually be translated into an ASCII form before that information is transferred to another computer.
( Future plans include developing a new "standard" binary file (SBF) which can be more easily recognized across dissimilar computers, looking forward to the time when DESL has been ported to other platforms.)
The definition of a SIF file as used within the DESL system is as presented below.
Each binary SIF record is of the general form : KEY, N, (ARRAY(K),K=1,N)
where,
KEY | alphabetic, upper-case string indicating the content of ARRAY (At present, KEY can only be NAME or DATA) |
N | (integer*4) integer representing the number of ARRAY elements |
ARRAY | an array of either (character*8) names or (real*4) data values, depending on KEY |
By definition SIF records are binary records. Also by definition, KEY strings contain only upper-case characters (NAME or DATA).
Type of File | Binary/ASCII | Description | Example |
---|---|---|---|
sif | Binary | Up to 100,000 array elements per record | (no printable example of binary record) |
ffsif | ASCII | Blank-delimited, up to 4096 characters/line, multiple lines per record. Each logical record is composed of one or more physical records. In this example the NAMEs record and one of the DATA records are each spread out over 2 lines. |
* * This file has 5 variables and 4 data records. * run point alpha cl cd 26. 3001 .10234e02 .09334 .00122 26 3002 12.4533 .113 .0089 26 3003 14.4553 .193321 .014 26 3004 17.3343 .24044e00 .23452e-01 |
tsv | ASCII | Tab-delimited, up to 4096 characters/record |
* * This file has 5 variables and 4 data records. * Each logical record is one physical * record with each item separated from the * previous one by a horizontal tab. * run point alpha cl cd 26. 3001 .10234e02 .09334 .00122 26 3002 12.4533 .113 .0089 26 3003 14.4553 .193321 .014 26 3004 17.3343 .24044e00 .23452e-01 |
csv | ASCII | Comma-delimited, up to 4096 characters/record |
* * This file has 5 variables and 4 data records. * Each logical record in one physical * record with each item separated from the * previous one by a comma. * run,point,alpha,cl,cd 26.,3001,.10234e02,.09334,.00122 26,3002,12.4533,.113,.0089 26,3003,14.4553,.193321,.014 26,3004,17.3343,.24044e00,.23452e-01 |
bsv | ASCII | Blank-delimited, up to 4096 characters/record (ffsif files can be composed of multiple lines per record) |
* * This file has 5 variables and 4 data records. * Each logical record in one physical * record with each item separated from the * previous one by one or more blanks. * run point alpha cl cd 26. 3001 .10234e02 .09334 .00122 26 3002 12.4533 .113 .0089 26 3003 14.4553 .193321 .014 26 3004 17.3343 .24044e00 .23452e-01 |
The compatibility of binary SIF files between dissimilar platforms is summarized in the table below.
The entry "direct" implies that a binary ftp from a
The entry "ASCII" implies that a foreign binary SIF file
will need to be translated to a supported DESL ASCII form on the
foreign platform, ftp'd to the current platform then translated
(via DESL back to a binary form.
To
PC
Sun
Solaris
SGI (Iris)
From
PC
-
ASCII
ASCII
ASCII
Sun
ASCII
-
direct
direct
Solaris
ASCII
direct
-
direct
SGI (Iris)
ASCII
direct
direct
-
30 Research Drive Hampton, VA 23666 Voice: (757) 865-1400 Toll Free: (800) 288-3998 FAX: (757) 865-8177 |