                                           Ocean Profile Data Format

             The format used for the delivery of the data is moderately complex since it provides
             information in addition to the actual observations.  Software is provided to help
             read the format.  The data format makes use of a number of international codes to
             describe the data and how they were collected.  International vessel call sign
             tables and ship platform names are also provided.

             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.

                  Component      Contents
                         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.
                  Component      Contents
                         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.

                  Record    Contents
                      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 call sign + 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
