Tides and current format (TCF) header definition

Tides and currents format (TCF) is an internal format for the application used to measure tides and currents in the regions. This application is called Tides, Currents and Water Levels Tools (TCWL Tools), which is survey software for creating tide predictions. The regions, in particular, use the TCF file format for the exchange of tidal harmonic constituents and predictions (extremes and 15 min).

The Canadian Hydrographic Service also sends monthly water level observations in this format to the Marine Environmental Data Service for the Pacific Region. The format will still be used in the new water level system. The format is also used for the water current constituents.

The header can contain information about the datum and any changes made to the data.

Water level time series

The dates and time are expected to be:

  • in sequential order
  • separated by a fixed time interval which matches what’s recorded in the header

Padded height records are marked with a value of 999.999.

The generic format description follows yyyy/mm/dd hh:mm xxx.xxx, where:

  • yyyy is the 4 digit year
  • mm is the number of the month (January is 1)
  • dd is the day of the month
  • hh is the hour (24-hour clock)
  • mm is minutes
  • xxx.xxx is the height in metres

Example

An example of a TCF header is as follows.

TCF Header version 2
''''/''''1''''/''''2''''/''''3''''/''''4''''/''''5''''/''''6''''/''''7''''/''''
DataType....... Index GeographicalName....................  DpthIm YYYY/MM/DD||
SOb/Pr/Com   DD MM.MMMMN DDD MM.MMMMW PstnkmA FixMethod..... +TZ.. hhmm:ss   || 
NumbRec... ####days ###.#% T TimeComments........................  hhmm:ss Ch||
Scientist............. ProjectID............. CruiseID..  IDAcA  WDAcA DpthWm|| 
FreeFieldForTemporaryStorage............................................. VCL||
hhmm:ss Cut.Offday Offs.ettdbp1 Fld Ebb HorDat VertlDatum Bm_Name... BmElevmm||
01 Parameter Descriptor Accry Qulty #A 07 Parameter Descriptor Accry Qulty #A||
02 .................... ..... ..... .. 08 .................... ..... ..... ..||
03 .................... ..... ..... .. 09 .................... ..... ..... ..||
04 .................... ..... ..... .. 10 .................... ..... ..... ..||
05 .................... ..... ..... .. 11 .................... ..... ..... ..||
06 .................... ..... ..... .. 12 .................... ..... ..... ..||
Agency................... Platform................. InstrumentType....Serial#||
FileName................. ProcessingFileName....... ParentFile...............||
Comments.....................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
.............................................................................||
''''/''''1''''/''''2''''/''''3''''/''''4''''/''''5''''/''''6''''/''''7''''/''''
The following is full description of the format
 by line number:
    field position,field length : definition.
    If field position is not defined it is to be left blank.
  
Line 1:
 col 01-15 15 : Type of data [See standard list]
                             [File may contain other parameters]
     17-21  5 : Station ID or Index number [no blanks]
     23-58 36 : Geographical name [may include parenthetical remarks, ie (xxx)]
     61-65  5 : Depth of instrument below chart datum [no blanks]
     66-66  1 : Units of depth  [m:metres, f:feet]
     68-71  4 : Date (Year) of first data record
     72-72  1 : '/'
     73-74  2 : Date (Month) of first data record
     75-75  1 : '/'
     76-77  2 : Date (Day) of first data record
 
Line 2:
 col 01-01  1 : Archive status !:CHS is primary archivist
                               &:CHS is secondary archivist,
                                  primary archive elsewhere
                               ?:Unknown
     02-10  9 : 'Observed ', 'Predicted' or 'Computed '
     14-15  2 : Latitude (Degrees)
     17-23  7 : Latitude (Minutes up to 4 places of decimal)
     24-24  1 : 'N' or 'S'
     26-28  3 : Longitude (Degrees)
     30-36  7 : Longitude (Minutes up to 4 places of decimal)
     37-37  1 : 'W' or 'E'
     39-42  4 : Position accuracy
     43-44  2 : Position accuracy units (m, km, etc)
     45-45  1 : Position quality flag
     47-60 14 : Fix method,eg GPS, DGPS, Radar Range, etc
     
     62-66  5 : Time Zone [# of hours to add to determine UTC]
                          [always include + or -]
                          [always left justify,
                            then there is space for Nfld time. ie +03.5]
     68-69  2 : Time (Hour)   of first data record
     70-71  2 : Time (Minute) of first data record
     72-72  1 : ':'
     73-74  2 : Time (Second) of first data record
 
Line 3:
 col 01-10 10 : Number of Records to follow header
     12-15  4 : Elapsed time in days
     16-19  4 : 'days'
     21-25  5 : Percentage of primary data (DataType) not padded with nulls.
                Any parameter can be padded to account for missing or poor data.
                The padded value depends upon the file format, where
                Null = 9999999999 for ASCII data
                Null =      32767 for 16 bit binary [(2**15)-1]
                Null = 2147483647 for 32 bit binary [(2**31)-1]
                
     26-26  1 : '%'
     28-28  1 : Time Flag [See standard list]
     30-65 36 : Time Comments [See standard list for suggestions]
                If time accuracy is needed then the time accuracy is written
                at the end of the time comments.  The time accuracy must be
                preceded by a sign (- or +) to be recognized. The units of
                time accuracy will be seconds/day with at least one decimal
                place, ie +1.0 is 1 second/day.
     68-69  2 : Sampling interval (Hours)
     70-71  2 : Sampling interval (Minutes)
     72:72  1 : ':'
     73-74  2 : Sampling interval (Seconds)
     76-77  2 : Number of Parameters in a record [up to 12]
Line 4:
     01-22 22 : Name of scientist [See standard list]
     24-45 22 : Project ID [See standard list]
     47-56 10 : Cruise ID [See list of suggested entries]
     59-62  4 : Instrument Depth accuracy number, real number with moving decimal
                    always in units of the depth
     63-63  1 : Instrument Depth accuracy code
     66-69  4 : Water Depth accuracy number, real number with moving decimal
                    always in units of the depth
     70-70  1 : Water Depth accuracy code
     72-76  5 : Depth of water below chart datum [no blanks]
     77-77  1 : Units of depth [m:metres, f:feet]
 
Line 5:
     01-73 70 : Free field for program scratch or temporary storage (see below
                for information of use of scratch area by tide and current table
                software)
     75-77  3 : Number of variable comments lines added.  Variable comments 
                lines are still 77 characters long with || at the end.
                Maximum number of variable comment lines is 999.
Line 6:
 Col 01-07  7 : Sampling interval of original measurements before subsampling/
                interpolation.
     09-15  7 : Cut-off for the filter, with decimals possible
     16-18  3 : Units of the cut-off: yr, day, hr, min, sec
     20-27  8 : Offset (this includes the usual pressure gauge
                 Removed Mean) - format is ddd.ddd.
     28-29  2 : Offset units, usually db (dbars)
     30-31  2 : Parameter offset is from.
     33-35  3 : Flood direction(deg. T)
     37-39  3 : Ebb direction(deg. T)
     41-46  6 : Horizontal Datum, eg NAD-83
     48-57 10 : Vertical Datum, eg GVSD91
     59-68 10 : Bench Mark Name
     70-75  6 : Bench Mark Elevation
     76-77  2 : Units of BM Elevation [mm:millimetres,hf:ft*100]
Line 7 to Line 12:
     01-02  2 : Parameter Number
     40-41  2 :     "       "
     04-23 20 : Parameter Descriptors [See standard list]
     43-62 20 :     "          "        "    "
     25-29  5 : Parameter Accuracy  [uncertainty, using same number
     64-68  5 :    "         "      of decimal places as in c37 or c76]
     31-35  5 : Flags to describe parameter quality, degree of editing,
                and if applicable type of datum and filters applied.
     70-74  5 : Same flags as c31-c35  [See standard list]
     37-37  1 : Number of decimal places or 'T' if text
     76-76  1 :    "    "    "      "    "   "  "   "
     38-38  1 : Data Format      where A = ASCII  [10 bytes/parameter]
     77-77  1 :   "    "
                [The following are    S = (16 bits Integer Binary)
                 for internal use,    L = (32 bits Integer Binary)
                 that is, not for     V = (16 bits VAX Int Binary)
                 interchange          X = (32 bits VAX Int Binary)]
 
Line 13:
     01-25 25 : Data set Agency [See standard list]
     27-51 25 : Platform used for measurements [See standard list]
     53-70 18 : Instrument Type [See standard list]
     71-77  7 : Instrument Serial Number
 
Line 14:
     01-25 25 : File Name [Name of present file with extension]
     27-51 25 : Processing File Name [Log file,could be paper]
     53-77 25 : Parent File Name [Source file name with extension]
 
  
  
Line 15 to Line 24:
     01-77 77 : Comments
    
Line 25 to Line ???
     01-77 77 : Variable length Comments - each line must be a full line
                with a maximum of 999 lines.  
Note: All header lines are terminated by '||' and an End-of-Line character(s).
      This means each header line has a length of 79 characters plus EOL
      character(s).
      If data format is ASCII the record length will be 10 bytes * number of
      parameters plus end of line.
     
      If data format is binary the record length will be 2 or 4 bytes * number
      of parameters and no end of line.
      The scratch field is used in various programs. See later documentation
      for specific format definitions.
      
The Tide and Current table software makes use of the free area (scratch field)
to hold specific information with a specific format.  This definition is described
below.
''''/''''1''''/''''2''''/''''3''''/''''4''''/''''5''''/''''6''''/''''7''''/''''
DataType....... Index GeographicalName....................  DpthIm YYYY/MM/DD||
SOb/Pr/Com   DD MM.MMMMN DDD MM.MMMMW PstnkmA FixMethod..... +TZ.. hhmm:ss   || 
NumbRec... ####days ###.#% T TimeComments........................  hhmm:ss Ch||
Scientist............. ProjectID............. CruiseID..  IDAcA  WDAcA DpthWm||
 
PrdctType vx.x pgn SpdT    mi.n ma.x                         dh tmx       VCL||
hhmm:ss Cut.Offday Offs.ettdbp1 Fld Ebb HorDat VertlDatum Bm_Name... BmElevmm||

Explanation:
vx.x      - version number of the data. Where each x is a number.  
SpFn      - speed type of station (i.e. FAST or NORM ) or Foot note number (
            i.e. FTN1 which is the foot note for Grondines)
pgn        - page number of the first page this data will appear on in the tide
            table
PrdctType - type of prediction  - either Reference, Secondary, or Other        
tmx       - max time span of a series of 3 small changes in minutes      
mi.n      - minimum waterlevel value (in metres) for the calendar plots
ma.x      - maximum waterlevel value (in metres) for the calendar plots 
            (max - min must be divisible with one decimal place by 5, 
             ie 6 - 0 works, 6 - 0.25 will not work). 
dh        - 
            Water levels    xx    amplitiude of a small change in cm (ie less than
                                  99 cm) in automatic editing
            Currents              do not use central time in calculation in 
                                  automatic editing
            Currents        CT    use central time calculation in automatic 
                                  editing and make it marked for attention
            Currents        CF    use central time calculation in automatic 
                                  editing and make it active
                                  


Maximum and minimum waterlevel values 
used in the Tide and Current Tables
Volume   Minimim   Maximum
  2        0.0       2.0
  5        0.0       4.0
  6        0.0       6.0