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