code: def is45(msg):
      
      if allzeros(msg):
          return False
  
      d = hex2bin(data(msg))
  
      # status bit 1, 4, 7, 10, 13, 16, 27, 39
      if wrongstatus(d, 1, 2, 3):
          return False
  
      if wrongstatus(d, 4, 5, 6):
          return False
  
      if wrongstatus(d, 7, 8, 9):
          return False
  
      if wrongstatus(d, 10, 11, 12):
          return False
  
      if wrongstatus(d, 13, 14, 15):
          return False
  
      if wrongstatus(d, 16, 17, 26):
          return False
  
      if wrongstatus(d, 27, 28, 38):
          return False
  
      if wrongstatus(d, 39, 40, 51):
          return False
  
      # reserved
      if bin2int(d[51:56]) != 0:
          return False
  
      temp = temp45(msg)
      if temp:
          if temp > 60 or temp < -80:
              return False
  
      return True
docs: Check if a message is likely to be BDS code 4,5.
  
      Meteorological hazard report
  
      Args:
          msg (String): 28 bytes hexadecimal message string
  
      Returns:
          bool: True or False