def METHOD_NAME(self) -> list:
    # Make list of site codes to pass to http get request
    sitecodes = []
    if hasattr(self.o, 'poll_noaa_stn_file'):
        stn_file = self.o.poll_noaa_stn_file
        # Parse file to make list of all site codes
        try:
            with open(stn_file) as f:
                for line in f:
                    items = line.split('|')
                    sitecodes.append(items[2])
            logger.info("poll_noaa used stn_file %s" % stn_file)
        except IOError as e:
            logger.error("poll_noaa couldn't open stn file: %s" % stn_file)
    else:
        # Grab station site codes from https://opendap.co-ops.nos.noaa.gov/stations/stationsXML.jsp
        tree = ET.parse(urllib.request.urlopen\
           ('https://opendap.co-ops.nos.noaa.gov/stations/stationsXML.jsp'))
        root = tree.getroot()
        for child in root:
            sitecodes.append(child.attrib['ID'])
    incoming_message_list = []
    # Every hour, form the link of water level/temp data to post
    for site in sitecodes:
        retrievePath = self.o.retrievePathPattern.format(site, 'water_temperature')
        url = self.o.pollUrl + retrievePath
        logger.info(f'polling {site}, polling: {url}')
        # Water temp request
        resp = urllib.request.urlopen(url).getcode()
        logger.info(f"poll_noaa file posted: {url} %s")
        mtime = datetime.datetime.utcnow().strftime('%Y%m%d_%H%M')
        fname = f'noaa_{mtime}_{site}_WT.csv'
        m = sarracenia.Message.fromFileInfo(fname, self.o)
        m['identity'] = self.identity
        m['retrievePath'] = retrievePath
        m['new_file'] = fname
        incoming_message_list.append(m)
        # Water level request
        retrievePath = self.o.retrievePathPattern.format(
            site, 'water_level') + '&datum=STND'
        url = self.o.pollUrl + retrievePath
        resp = urllib.request.urlopen(url).getcode()
        logger.info(f"poll_noaa file posted: {url}")
        fname = f'noaa_{mtime}_{site}_WL.csv'
        m = sarracenia.Message.fromFileInfo(fname, self.o)
        m['identity'] = self.identity
        m['retrievePath'] = retrievePath
        m['new_file'] = fname
        incoming_message_list.append(m)
    return incoming_message_list