Ressources naturelles Canada
Symbol of the Government of Canada

Definition of the CNDC Mark 2 Time Series Format (TSF)

The CNDC Mark 2 Time Series File (Waveform) Format was devised and used for the DEC PDP-11 and later VAX-based systems used to acquire seismic ground motion data from the local and regional digital telemetered networks (CTNs/LTNs) operated by the GSC from the mid-1970's through the mid-1990's. As these systems operated in triggered mode only, their output was time segments or "event" files.
TSF data sample representation can be in a variety of formats: R*4, I*4, I*2, and Binary Gain Ranged (BGR*2). Prior to the advent of the CNSN and continuous data capture in CA format, saved events from all CTN/LTN systems were converted to DEC R*4 data representation with a block size of 2048 bytes for archiving.
The file structure, described below, can accomodate up to 97 waveforms, 46 of which can be triggered.

TSF Header Record Description

              LWORD
      FIELD   INDEX     DATA TYPE     FIELD DESCRIPTION
      =====   =====     =========     ==========================

        1    1 - 20     CHAR*80       identification field:
                                        for ECTN, characters
                                        1-15 --> event-id
                                        17-20 --> network/source
                                          (eg. 'ECTN')
                                        21-24 --> 'MK02' format
                                        25-25 --> data type, B-blast,
                                        	  R-rockburst, L-local,
                                        	  T-teleseism,
                                                  P-possible rockburst.
                                        26-80 --> spare

        2      21       INTEGER*4     # of triggered components

        3      22       INTEGER*4     # of waveforms in the file

        4      23       INTEGER*4     Triggered beam number

        5   24 - 27       ---         spare words

        6   28 - 30     CHAR*12       waveform id, containing:
                                        1-5 --> geographical station
                                        name  e.g. 'OTT  '

                                        6 --> component band
                                          ('S', 'L', 'B')

                                        7 --> component orientation
                                          ('Z', 'N', 'E')

                                        8 --> spare (' ')

                                        9-12 --> processing flag
                                          e.g.  LPF (low pass filt)
                                          currently blank ('    ').
                                          For YKA, may be octal beam
                                          number, e.g. 'B134' 

        7      31       INTEGER*4     starting block number for
                                        this component

        8      32       INTEGER*4     Trigger flag


      *
      *  (above 3 fields are repeated for each waveform in the file)
      *

Triggered Component Record Description



              LWORD
      FIELD   INDEX     DATA TYPE     FIELD DESCRIPTION
      =====   =====     =========     ====================



        1     1 - 3     CHAR*12       triggered waveform-id

        2       4       INTEGER*4     year (trigger time)

        3       5       INTEGER*4     month             "

        4       6       INTEGER*4     day               "

        5       7       INTEGER*4     hour              "

        6       8       INTEGER*4     minute            "

        7       9       INTEGER*4     second            "

        8      10       INTEGER*4     millisecond       "

        9**    11       INTEGER*4     trace sequence number


       (above 9 fields are repeated for each triggered component)



      ** Note:  This field (formerly spare)  has  been  defined  as  the

      sequence  number  of storage of the specified component in the TSF

      to permit individual access to triggered  waveforms  when  several

      waveforms  may  have the same component-id.  When blank, access is

      via the ascii component-id only.


Component Record Description


Component header information used in processing the component data is contained in the first 40 words, and always starts on a block boundary.
Component header information used in processing the component data is contained in the first 40 words, and always starts on a block boundary.

              LWORD
      FIELD   INDEX     DATA TYPE     FIELD DESCRIPTION
      =====   =====     =========     ==========================


        1       1       INTEGER*4     block # of start of data 
                                        for this comp (redundant)

        2       2       INTEGER*4     longword index of start of data
                                        for this comp (41 for now)

        3       3       CHAR*4        data format code
                                        ('R*4 '/'I*4 '/'BGR '/'I*2 ')

        4       4       REAL*4        nominal velocity sensitivity at
        			        mid-band (nm/s/digital count)

        5       5       REAL*4        sampling frequency (samples/sec)

        6       6       INTEGER*4     # of samples in this waveform

        7@      7       INTEGER*4     # of duplicates samples

        8       8       REAL*4        maximum sample value

        9       9       INTEGER*4     time correction, in msec

       10      10       INTEGER*4     year (start time of data) 

       11      11       INTEGER*4     month        "

       12      12       INTEGER*4     day          "

       13      13       INTEGER*4     hour         "

       14      14       INTEGER*4     minute       "

       15      15       INTEGER*4     second       "

       16      16       INTEGER*4     millisecond  "

       17   17 - 36     CHAR*80       trace processing history

       18*     37       INTEGER*2     # of shifts to convert exponent

                                        to base 2 ( = 0 for now)

       19*@             OCTAL*2       position of validation bits
                                        (currently zeroed - not used)

       20*     38       OCTAL*2       mantissa mask ( '177760'O )

       21*              OCTAL*2       exponent mask ( '000017'O )

       22   39 - 40       ---         spare words

       23   41 ...      R*4/I*4/      data samples
                          I*2/BGR


* Note: fields 18-21 are non-zero only for Binary Gain Ranged data.

@ Note:	CTN systems detect missing samples, duplicate the previous
        good sample value, and used to flag the duplication via
        validation bit(s) in the BGR representation.  These validation
        bits are lost in the conversion, but a count of missed samples
        is maintained to give some indication of quality.

DEC R*4 Data Representation


"The form of a single-precision real number is sign magnitude, with bit 15 the sign bit, bits 14:7 an excess 128 binary exponent, and bits 6:0 and 15:0 in the second word a normalized 24-bit fraction with the redundant most significant fraction bit not represented. The value of a single-precision real number is in the approximate range .29*10**-38 through 1.7*10**38. The precision is approximately one part in 2**23--or typically seven decimal digits."

      word 1:     S  E  E  E  E  E  E  E  !  E  M  M  M  M  M  M  M
      bit #:     15 14 13 12 11 10  9  8     7  6  5  4  3  2  1  0


      word 2:     M  M  M  M  M  M  M  M  !  M  M  M  M  M  M  M  M
      bit #:     15 14 13 12 11 10  9  8     7  6  5  4  3  2  1  0