                           MEDS Character Format

The format used for the delivery of the data is moderately complex since it
provides information in addition to the actual observations. A complete
description of the fields of the format is provided below.

The data are organized in the following manner. A 'Station' record always
appears first followed by one or more 'Profile' records. All records are of
variable length, with the exact number of fields to be found being provided
in the record.

The 'Station' Record

The 'Station' record is built of a number of components. The first component
always has a fixed number of fields and is always present. This component
provides information about the location and time of the station, information
about how the data were received and the number of repeats of other
components found in the 'Station' record.

The second component provides information about the number of profiles
measured at the station, whether or not a profile is a duplicate of another,
higher resolution copy, and some information about the accuracy and
precision of the variables measured. The deepest depth of each profile is
recorded here. Because of limitations of records lengths on some computers,
profiles are broken into a number of segments. Each segment has up to 1500
depth-variable pairs. There are as many repeats of this component as
required to describe all profiles present. The actual number of profile
records associated with a station is the sum of the number of segments of
each profile.

The third component carries information about other variables measured at
the station, such as winds, air temperature, and so on. The measurements are
expressed as numeric values. A code table is used to indicate the variable
measured. There are as many repeats of this component as required to
describe all numeric variables present.

The fourth component carries information about other variables measured at
the station but which are recorded as alphanumerics. Such measurements as
Beaufort winds, QC tests executed, etc. are to be found here. There are as
many repeats of this component as required to describe all alphanumeric
variables present.

The last component records the processing history of the station. It
provides information about who carried out which actions against what
variable and when. If values have been changed, the original value is stored
in this component. There are as many repeats of this component as required
to describe all the processing that has taken place on the station.

Suppose that a temperature and a salinity profile were collected at a
station. Suppose also that there were observations every meter to 3500 m
depth. Suppose also that wind speed and direction were measured, that the
Beaufort wind speed was recorded and that the station had 5 different
actions taken against it. The layout of the station record is then as
follows.

 ComponentContents
     1    Station location, time and other information.
     2    Two repeats of profile information, one for temperature and one
          for salinity.
     3    Two repeats, one for each of wind speed and direction.
     4    One repeat for the Beaufort code.
     5    Five repeats of the history information, one to describe each
          action taken against the record.

The 'Profile' Record

There may be one or more 'Profile' records associated with each station
record. The associated 'Profile' records always follow immediately after the
station record to which they are linked.

There are two components to a 'Profile' record. The first always has a fixed
number of fields and is always present. This component provides a repeat of
the station location and time. It identifies the profile type and segment of
that profile. It indicates if depths or pressures are recorded and how many
depth-variable pairs are to be found.

The second component records the depth and measured variable as well as
quality control flags that have been applied at each depth. There are as
many repeats of this component as required to describe all depths
(pressures) measured in the profile.

For the example data collection described above, the layout of the profile
records is as follows.
 ComponentContents
     1    Station location, time, profile and segment identifiers.
     2    Up to 1500 repeats of depth-variable information and associated
          quality control flags.

File Organization

For the above example, the organization of a data file would be as follows.

 RecordContents
   1   'Station' record saying both TEMP (temperature) and PSAL (salinity)
       profiles are present and that both of these consist of 3 segments
       (3500/1500 = 3 segments).
   2   'Profile' record consisting of segment 1 (depths 0-1499m) of the
       temperature profile.
   3   'Profile' record consisting of segment 2 (depths 1500-2999m) of the
       temperature profile.
   4   'Profile' record consisting of segment 3 (depths 3000-3500m) of the
       temperature profile.
   5   'Profile' record consisting of segment 1 (depths 0-1499m) of the
       salinity profile.
   6   'Profile' record consisting of segment 2 (depths 1500-2999m) of the
       salinity profile.
   7   'Profile' record consisting of segment 3 (depths3000-3500m) of the
       salinity profile.

Format Description


    Field        Field  Starting  Justify   Field
    Name         Size   Position   Left     Description
                                   Right
  ---------     -------  ------  --------   -------------

  MKey          char*08    01       L       Sort Key
  One_Deg_sq    char*08    09       R       MEDS geographic 1 degree square
  Cruise_ID     char*10    17       L       Radio callsign + year for real time data, or
                                              NODC reference number for delayed mode data.
  Obs_Year      char*04    27       L       Century and year of observation
  Obs_Month     char*02    31       L       Month of Observation
  Obs_Day       char*02    33       L       Day of Observation 01-31
  Obs_Time      char*04    35       L       Time of Observation
  Data_Type     char*02    39       L       Instrument type or type of IGOSS radio
                                              message
  Iumsgno       char*12    41       R       A unique identifier used by MEDS
                                             in their processing
  Stream_Source char*01    53       L       A field used by MEDS to track if
                                             the data are new or have been
                                             retrieved from its archives.
  Uflag         char*01    54       L       Record update action
  Stn_Number    char*08    55       R       MEDS Station Number for real-time data, or cruise
                                              consec number for delayed mode data.
  Latitude      char*08    63       R       Decimal degrees
                                              (+ = north, - = south)
  Longitude     char*09    71       R       Decimal degrees
                                              (+ = west, - = east)
  Q_Pos         char*01    80       L       Station Position Quality
  Q_Date_Time   char*01    81       L       Date-Time Quality
  Q_Record      char*01    82       L       Worst Quality flag in the station
  Up_Date       char*08    83       L       Date of last action on record
  Bul_Time      char*12    91       L       Time bulletin was placed on GTS
  Bul_Header    char*06   103       L       GTS bulletin header
  Source_ID     char*04   109       L       GTS node which placed message on the GTS.
  Stream_Ident  char*04   113       L       Source and type of data
  QC_Version    char*04   117       L       Version of the QC program used.
  Data_Avail    char*01   121       L       Data Availability
  No_Prof       char*02   122       R       Number of Parameter profiles in station
  Nparms        char*02   124       R       Number of Surface Parameter groups
  Nsurfc        char*02   126       R       Number of Surface Codes groups
  Num_Hists     char*03   128       R       Number of History groups

     Profile Information; repeats No_prof (1-30) times

 No_Seg        char*02    01       R        Number of Profile Records in the profile
 Prof_Type     char*04    03       L        Type of data in profile
 Dup_flag      char*01    07       L        'Y'indicates this station duplicates another of
                                              higher quality.
 Digit_Code    char*01    08       L        Data Digitization method
 Standard      char*01    09       L        Standards to which the observations were made
 Deep_Depth    char*05    10       R        Depth (m) of the deepest observation in the profile.


     Surface Parameter Group; repeats Nparms (0-30) times

 Pcode         char*04    01       L        Parameter - GF3 or User code.
 Parm          char*10    05       R        Measured surface parameter value.
 Q_Parm        char*01    15       L        Parameter Quality


     Surface Codes Group; repeats Nsurfc (0-30) times

 SRFC_Code     char*04    01       L        Parameter - GF3 or User code.
 SRFC_Parm     char*10    05       L        Surface code
 SRFC_Q_Parm   char*01    15       L        Parameter Quality


     History Group; repeats Num_Hists (0-100) times

 Ident_Code    char*02    01       L        Organization which created the record
 PRC_Code      char*04    03       L        Computer program which modified the station
                                              and created a history group)
 Version       char*04    07       L        Version of the above program
 PRC_Date      char*08    11       R        Date of action (YYYYMM)
 Act_Code      char*02    19       L        Action performed on parameter
 Act_Parm      char*04    21       L        Parameter code of changed
                                             parameter
 Aux_ID        char*08    25       R        Locator (e.g. depth) of changed parameter
 Previous_Val  char*10    33       R        Value of parameter before change

                     Profile Record

 MKey          char*08    01       L        Sort Key
 One_Deg_Sq    char*08    09       R        MEDS geographic 1 degree square
 Cruise_ID     char*10    17       L        Radio callsign + year for real-time data, or
                                              NODC reference number for delayed mode.
 Obs_Year      char*04    27       L        Century and year of observation
 Obs_Month     char*02    31       L        Month of Observation
 Obs_Day       char*02    33       L        Day of Observation 01-31
 Obs_time      char*04    35       L        Time of Observation
 Data_Type     char*02    39       L        Instrument type or type of IGOSS radio
                                              message
 Iumsgno       char*12    41       R        MEDS field - not used
 Profile_Type  char*04    53       L        Type of data in the profile
 Profile_Seg   char*02    57       L        Profile segment number of this record
 No_Depths     char*04    59       R        Number of Depth/Pressure values in this record
 D_P_Code      char*01    63       L        Depth/Pressure code

      Parameter Group; occurs No_Depth (1-1500) times

 Depth_Press   char*06    01       R        Depth or Pressure value
 Depres_Q      char*01    07       L        Depth/Pressure quality
 Prof_Parm     char*09    08       R        Measured parameter value
 Prof_Q_Parm   char*01    17       L        Data Quality

