old_contents: from datetime import datetime, timedelta
  
  FEETS_TO_METER = 0.3048             # ratio feets to meter
  FPM_TO_MS = FEETS_TO_METER / 60     # ratio fpm to m/s
  KNOTS_TO_MS = 0.5144                # ratio knots to m/s
  KPH_TO_MS = 2.7778                  # ratio kph to m/s
  HPM_TO_DEGS = 180 / 60              # ratio between half turn per minute and degrees/s
  
  
  def parseAngle(dddmmhht):
      return float(dddmmhht[:3]) + float(dddmmhht[3:]) / 60
  
  
  def createTimestamp(time_string, reference_timestamp=None):
      if time_string[-1] == "z":
          dd = int(time_string[0:2])
          hh = int(time_string[2:4])
          mm = int(time_string[4:6])
  
          result = datetime(reference_timestamp.year,
                            reference_timestamp.month,
                            dd,
                            hh, mm, 0)
  
          if result > reference_timestamp + timedelta(days=14):
              # shift timestamp to previous month
              result = (result.replace(day=1) - timedelta(days=5)).replace(day=result.day)
          elif result < reference_timestamp - timedelta(days=14):
              # shift timestamp to next month
              result = (result.replace(day=28) + timedelta(days=5)).replace(day=result.day)
      else:
          hh = int(time_string[0:2])
          mm = int(time_string[2:4])
          ss = int(time_string[4:6])
  
          result = datetime(reference_timestamp.year,
                            reference_timestamp.month,
                            reference_timestamp.day,
                            hh, mm, ss)
  
          if result > reference_timestamp + timedelta(hours=12):
              # shift timestamp to previous day
              result -= timedelta(days=1)
          elif result < reference_timestamp - timedelta(hours=12):
              # shift timestamp to next day
              result += timedelta(days=1)
  
      return result
  
new_contents: from datetime import datetime, timedelta
  
  FEETS_TO_METER = 0.3048             # ratio feets to meter
  FPM_TO_MS = FEETS_TO_METER / 60     # ratio fpm to m/s
  KNOTS_TO_MS = 0.5144                # ratio knots to m/s
  KPH_TO_MS = 0.27778                 # ratio kph to m/s
  HPM_TO_DEGS = 180 / 60              # ratio between half turn per minute and degrees/s
  
  
  def parseAngle(dddmmhht):
      return float(dddmmhht[:3]) + float(dddmmhht[3:]) / 60
  
  
  def createTimestamp(time_string, reference_timestamp=None):
      if time_string[-1] == "z":
          dd = int(time_string[0:2])
          hh = int(time_string[2:4])
          mm = int(time_string[4:6])
  
          result = datetime(reference_timestamp.year,
                            reference_timestamp.month,
                            dd,
                            hh, mm, 0)
  
          if result > reference_timestamp + timedelta(days=14):
              # shift timestamp to previous month
              result = (result.replace(day=1) - timedelta(days=5)).replace(day=result.day)
          elif result < reference_timestamp - timedelta(days=14):
              # shift timestamp to next month
              result = (result.replace(day=28) + timedelta(days=5)).replace(day=result.day)
      else:
          hh = int(time_string[0:2])
          mm = int(time_string[2:4])
          ss = int(time_string[4:6])
  
          result = datetime(reference_timestamp.year,
                            reference_timestamp.month,
                            reference_timestamp.day,
                            hh, mm, ss)
  
          if result > reference_timestamp + timedelta(hours=12):
              # shift timestamp to previous day
              result -= timedelta(days=1)
          elif result < reference_timestamp - timedelta(hours=12):
              # shift timestamp to next day
              result += timedelta(days=1)
  
      return result
  
subject: Change conversion factor kph->ms (fixes #53)