Ocean Data View (ODV) format

The ODV viewing window - showing data plots and metadata
The ODV viewing window - showing data plots and metadata ©

This is an ASCII output format to handle profile, time series and trajectory data held in the BODC databases. BODC distribute a SeaDataNet version of the general ODV format to carry additional information required by SeaDataNet.

These data files can be imported directly into the ODV (version 4) visualisation and analysis software package. The software is freely available for non-commercial, non-military research and for teaching purposes. It is becoming an extremely popular choice within the marine community in which to visualise data.


The data format follows that of a spreadsheet — a collection of rows (comment, column header and data) with each data row having the same fixed number of columns. Data rows contain three types of column

with rows containing exactly the same parameters grouped together — known as 'stations'.

Data mapping

Data of different 'shape' (profile, time series and trajectory) are mapped into the spreadsheet as follows

  • Chronological Julian Date [days]
    Defined as the time elasped in days from 00:00 on 01 January 4713 BC.

Rows within the station are ordered by increasing time, with the 'z coordinate' (instrument depth) — essential for many types of data — stored as a data variable.

Components of the BODC (SeaDataNet) ODV file

Each file consists of three components, namely

  1. Comment rows

    a. User comments

    These are prefixed by the characters // and may appear anywhere in the data file. Comment records are used to enrich the data files with additional usage metadata. The first row in ODV files supplied by BODC contains a URL to our data documentation.

    b. SeaDataNet semantic header

    These are mandatory comment lines. Their function is to map the text strings used to label the metadata and data columns to standardised SeaDataNet concepts — necessary if data files from different sources are to be combined in a meaningful way.

    The header begins with the line: //SDN_parameter_mapping. This is followed by a line for each data column (including the primary variable) made up from three parts — tagged to look like an XML element.

    Subject — Contains the text used to label the column EXACTLY as it appears in the column row header WITHOUT the units declaration, prefixed by 'SDN:LOCAL:' to encode it as a SeaDataNet URN.

    Object — Contains the URN to a concept from the SeaDataNet controlled vocabulary P01.

    Units — Contains a URN for the storage units for the data column used IN THE FILE from the SeaDataNet controlled vocabulary P06.

    The SeaDataNet controlled vocabularies are accessible via the NVS2.0 search interface or the NERC Vocabulary Server.

  2. Column header row

    The header row contains a label for each column of the file. They are presented (from the left) as standardised metadata, followed by column pairs (data plus a qualifying flag) for the primary variable and the data parameters. The first heading in each pair is the description for the data parameter plus its storage units enclosed in brackets, for example 'Current Dir [deg T]', with the second always being 'QV:SEADATANET'.

  3. Data rows

    The metadata columns are populated as follows

    Cruise — A text string identifying the grouping label for the data object to which the data row belongs. Obviously the cruise name for data types such as CTD and bottle data, but may be a mooring name for current meter data.

    Station — A text string identifying the data object to which the data row belongs. This will be the station name for some types of data, but could also be an instrument deployment identifier.

    Type — The type of data. Set to 'C' for CTD and XBT profile data and 'B' for bottle profile data. For time series and trajectories set to 'B' for small (<250) row groups or 'C' for larger row groups. Alternatively, it can be set to a default value of '*'.

    yyyy-mm-ddThh:mm:ss.sss — Date and time (UT) when the sample was collected or measurement was made in extended ISO8601 format — 2008-04-23T15:15:00.000.

    Longitude [degrees_east] — Longitude (decimal degrees) where the sample was collected or measurement was made.

    Latitude [degrees_north] — Latitude (decimal degrees) where the sample was collected or measurement was made.

    LOCAL_CDI_ID — The local identifier (maximum 80 bytes) of the Common Data Index (CDI) record associated with the data row.

    EDMO_code — A key - from the European Directory of Marine Organisations (EDMO) - identifying the organisation responsible for assigning the local CDI.

    Bot. Depth [m] — Bathymetric water depth in metres where the sample was collected or measurement was made. Set to zero if unknown or inapplicable.

    These are followed by the primary variable value, its flag and then the data value plus qualifying flag pairs for each parameter. If there is no data value then the data value column is left blank with the flag field set to '9' - missing value.

An illustration of the BODC (SeaDataNet) ODV format
An illustration of the BODC (SeaDataNet) ODV format ©

Qualifying flag descriptions

From the SeaDataNet controlled vocabulary for qualifying flags.

Flag Name Description
0 no quality control No quality control procedures have been applied to the data value. This is the initial status for all data values entering the working archive.
1 good value Good quality data value that is not part of any identified malfunction and has been verified as consistent with real phenomena during the quality control process.
2 probably good value Data value that is probably consistent with real phenomena but this is unconfirmed or data value forming part of a malfunction that is considered too small to affect the overall quality of the data object of which it is a part.
3 probably bad value Data value recognised as unusual during quality control that forms part of a feature that is probably inconsistent with real phenomena.
4 bad value An obviously erroneous data value.
5 changed value Data value adjusted during quality control. Best practice strongly recommends that the value before the change be preserved in the data or its accompanying metadata.
6 value below detection The level of the measured phenomenon was too small to be quantified by the technique employed to measure it. The accompanying value is the detection limit for the technique or zero if that value is unknown.
7 value in excess The level of the measured phenomenon was too large to be quantified by the technique employed to measure it. The accompanying value is the measurement limit for the technique.
8 interpolated value This value has been derived by interpolation from other values in the data object.
9 missing value The data value is missing. Any accompanying value will be a magic number representing absent data.
A value phenomenon uncertain There is uncertainty in the description of the measured phenomenon associated with the value such as chemical species or biological entity.


Related BODC pages

BODC parameter codes     AXF (historical) format
QXF (a netCDF) format     SeaDataNet
BODC request (ASCII) format      

Related external links

Ocean Data View (ODV)     SeaDataNet