def __init__(self, station, start_year=None, end_year=None,
            cache_directory=None, cache_filename=None):
        super(NOAAWeatherSourceBase, self).__init__(station, cache_directory,
                cache_filename)

        self._year_fetches_attempted = set()

        self.station_id = station

        if start_year is not None and end_year is not None:
            self.add_year_range(start_year, end_year)
        elif start_year is not None:
            self.add_year_range(start_year, date.today().year)
        elif end_year is not None:
            self.add_year_range(date.today().year, end_year)

        self._check_for_recent_data()
dataset/ETHPy150Open impactlab/eemeter/eemeter/weather.py/NOAAWeatherSourceBase.__init__/original