code: def update(self, report: str = None) -> bool:
          
          if report is not None:
              self.raw = report
          else:
              raw = self.service.fetch(self.station)
              if raw == self.raw:
                  return False
              self.raw = raw
          self.data, self.units = metar.parse(self.station, self.raw)
          self.translations = translate.metar(self.data, self.units)  # type: ignore
          self.last_updated = datetime.utcnow()
          return True
docs: Updates raw, data, and translations by fetching and parsing the METAR report
  
          Returns True is a new report is available, else False