Blue Files
The Midas Blue File is the standard binary file format used by modern Midas
frameworks. Blue files are so ubiquitous in Midas applications that many
people erroneously refer to a Blue file as simply a "Midas File". Blue files
are designed to efficiently store one-dimensional or two-dimensional signal
data as well as record-based information.
The Blue file format was preceded by the Gold file format. While X-Midas and
NeXtMidas have the ability to import Gold files, they are no longer used.
Many Gold files have been converted to Blue files, those that remain are
usually found on tape archives. Users who are relatively new to the Midas
community are unlikely to ever encounter a Gold file.
(Important Note: These days when people refer to a "gold
file" they are often using "gold" to mean a "gold-standard," or a file whose
data has been proven valid. This terminology is frequently associated with
test cases where the test output is compared to a reference output,
called a "gold" file.)
Blue files start with a four-byte "magic number" equal to the ASCII code
"BLUE" (see
"Magic
number (programming)" in Wikipedia for details). Because of this Blue
files are often termed "BLUE" files, although the name is not an acronym.
(This follows the use of "GOLD" for Gold files.)
The design of Blue files grew out of the Midas community over several decades.
The definition of the Blue file format was officially codified in 2006. Please
see Midas BLUE File Format
/ Version 1.0.0 (CCD-2006002-1.0.0).
Overview of Blue Files
Blue files are explained, in detail, in the official
Midas BLUE File Format / Version 1.0.0
(CCD-2006002-1.0.0) document, a copy of which is contained in the docs area
of the NeXtMidas SYS option tree. What follows below is a very brief overview of
Blue files.
- Classes of Blue Files:
- Type 1000
- One-dimensional data.
- Typically used for raw signal data.
- Type 1999 files are a special case used for records of connected points
(e.g. world.prm).
- Type 1000 files can be treated as a special case of Type 2000 file
where the frame size is one.
- Type 2000
- Two-dimensional frame based data.
- Typically used to show Frequency vs Time (e.g. post-FFT signal data).
- When listing a Type 2000 file it will be automatically assigned the
column names F1, F2, F3, ... Fn (where n is the frame size).
- Type 3000
- Record-based data (limited to 26 subrecords). Similar to a flat-file database.
- Unlike Type 5000 files, Type 3000 files allow "gaps" between records.
- This allows a Type 3000 file to be created from an existing binary file.
- Rarely plotted, but frequently listed.
- Type 4000 (Not supported by NeXtMidas)
- Key/value pairs, used by X-Midas as a work-around for not having tables.
- Type 5000
- Record-based data (limited to 14 subrecords) with system modeling parameters.
- Typically used for geodetic positions and features.
- Unlike Type 3000 files, Type 5000 files include system modeling
information and each field has its own coordinate type and units.
- Type 6000
- An extension of Type 3000 files, allows for more complex records.
- Most newer applications prefer to use XML over Type 6000 files.
-
Types of Blue Files:
- Each of the above classes has one generic form (e.g. Type 1000 for the class of
Type 1000 files) and many specific forms (e.g. Type 1001, 1002, and 1003 for the
class of Type 1000 files).
- (While it is less confusing to refer to the type classes as
Type 1xxx, 2xxx, 3xxx, etc (rather than Type 1000, 2000, 3000, etc), this is
not the accepted practice of the Midas community.)
- Structure of Blue Files:
- There are three main parts to a Blue File:
- Main Header
- The Main Header is divided into two sections:
Fixed |
Basic information about the file (start values, deltas, units). |
|
Three keywords (called main header keywords). |
Adjunct |
Details about the file layout (varies based on file type). |
|
May include system modeling information. |
- Data
- The binary data of the file.
- Extended Header
- Stores keywords (auxiliary information about the file).
|