BODC request (ASCII) format
This is a generalised output format to handle most types of data held in the BODC databases. There are two variants of the format — Standard and Compressed. Standard will be described in detail. Compressed format is merely a space saving version of Standard format suitable for data files where the data cycle is less than 80 bytes. The differences between Compressed and Standard format are described later.
This document assumes you are familiar with programming terms.
The following is an example of a file listed in the standard format
(a) The first record contains general information regarding the file. 'Std.'
indicates Standard format and V1.0 indicates version 1.0 of the format.
'lrec' is the length (in bytes) to which the records are blank padded. Files
may be produced without blank padding in which case no lrec attribute is
included in the record. 'Headers' and 'Data Cycles' are counts of the number
of header records and data cycles in the file. 'BODC QC' indicates that
the data has been through BODC quality control procedures — this field is
blank if this is not the case.
(b) Record two presents the BODC series reference number and any inventory
reference numbers by which the series is also known (in this case the inventory
is the Current Meter Data Inventory). A reference to a second inventory
may occur on this line. If a series has not yet been allocated a BODC reference
number this record will start with 'File:' followed by the full BODC file
name. This record also indicates the date on which the output was produced
(c) Record three gives the data originator's identifier for the series,
the source country and the source laboratory. If this information is not
available the record will state 'Series header information not available'
and the next two records will be blank.
(d) This record specifies one or two geographic positions. If a second
position is given its purpose will be described in the accompanying documentation.
Start date and end date (if available) are given in the format yyyymmddhhmiss
(24 hour clock and UT). If time is unavailable hhmiss will be blank.
(e) This record gives the sea floor depth and the sensor depth. If a second
(greater) sensor depth is given the two sensor depths specify the range
of depths over which measurements were made. The second half of this record
gives the nominal sampling interval and its units.
(f) This record and the following title record start the parameter section.
There are two records per parameter present.
(g) The parameter information record gives
- the parameter code as defined in the BODC Parameter Dictionary
- whether the channel has been flagged with quality control indicators (Y/N)
- byte pointers (P and Q) to the start and end of the parameter within each data cycle record
- the absent data value
- minimum and maximum values of the parameter within the series
- parameter storage units
The next record gives the full description of the parameter. Units, parameter
name and sampling method may be blank if series header information was not
(h) This line indicates the number of following records which together
describe the Fortran format used to write each data cycle record.
(i) This and the next record are the data cycle title lines. 'f' indicates
a flag channel.
(j) Data cycles are listed one per line. The first seven characters are always a data cycle count. One of the following quality control flags may appear against an individual data value (if the remark 'BODC QC' is present in record 1, then a blank flag indicates that the value is good)
< — Below detection limit
> — In excess of quoted value
A — Taxonomic flag for affinis (aff.)
B — Beginning of CTD Down/Up Cast
C — Taxonomic flag for confer (cf.)
D — Thermometric depth
E — End of CTD Down/Up Cast
H — Extrapolated value
I — Taxonomic flag for single species (sp.)
K — Improbable value — unknown quality control source
L — Improbable value — originators quality control
M — Improbable value — BODC quality control
N — Null value
O — Improbable value — user quality control
P — Trace/calm
Q — Indeterminate
R — Replacement value
S — Estimated value
T — Interpolated value
U — Uncalibrated
W — Control value
X — Excessive difference
The following annotated listing of a header section will enable positions of any required fields to be calculated (dummy values have been entered for all possible fields).
When reading in numeric fields include all blanks to the left of the fields shown above.
Alternative formats for records 2 and 3 are
- 2 File:KNM820106/DC1125V/IPS62500 produced:1993/07/07
- 3 Series header information not available
The differences between Compressed and Standard format are
- All 80 byte long header records, except the parameter header records (f and next record) and Fortran header record (h), are split into two 40 byte records.
- The parameter names in the data cycle titles are split across two records.
- The data cycle records are smaller. A data cycle count occurs only if date/time is not present.
The following shows the example file described above listed in Compressed format. Note that there is no lrec attribute in the first record showing the file to be in a form suitable for PCs (no blank padding of the data cycle records).