def _parse_header(self):
        meta = {}
        m = re.search(r'''\$[A-Z][A-Z](?P<fmt>S\d\d),  #fmt is between 00 and 53
                      (?P<id>\d+),
                      (?P<nmeasure>\d+),
                      (?P<hour>\d\d)(?P<minute>\d\d)(?P<second>\d\d),
                      (?P<day>\d\d),
                      (?P<mon>\d\d),
                      (?P<yr>\d+),
                    ''', self.lines[0], re.VERBOSE)  # ignoring the optional fields of first line
        if m:
            meta.update(getMetaFromTimeRE(m))
            meta['DataSetID'] = m.group('id')
            meta['Format'] = "SSP " + m.group('fmt')
            meta['fmt'] = m.group('fmt')
            m = re.search(r'''(?P<lat>[\d.]+,[NS]),
                              (?P<lon>[\d.]+,[EW]),
                            ''', self.lines[1], re.VERBOSE)  # try the optional second line
            if not m:
                m = re.search(r'''(?P<lat>[\d.]+,[NS]),
                                  (?P<lon>[\d.]+,[EW]),
                                ''', self.lines[-1], re.VERBOSE)  # try at the end of file
            if m:
                location = coordinates.Coordinate(m.group('lat'), m.group('lon'))
                meta.update(Profile.getMetaFromCoord(location))
        meta['filename'] = self.fid._path
        self.rawmeta = meta