def METHOD_NAME(start_time, end_time, interval):
    """
    Uses astroplan's time_grid_from_range to generate
    an astropy Time object covering the time range.
    Uses astropy's get_sun to generate sun positions over
    that time range.
    If time range is small and interval is coarse, approximates
    the sun at a fixed position from the middle of the
    time range to speed up calculations.
    Since the sun moves ~4 minutes a day, this approximation
    happens when the number of days covered by the time range
    * 4 is less than the interval (in minutes) / 2.
    :param start_time: start of the window for which to calculate the airmass
    :type start_time: datetime
    :param end_time: end of the window for which to calculate the airmass
    :type end_time: datetime
    :param interval: time interval, in minutes, at which to calculate airmass within the given window
    :type interval: int
    :returns: ra/dec positions of the sun over the time range,
        time range between start_time and end_time at interval
    :rtype: astropy SkyCoord, astropy Time
    """
    start = Time(start_time)
    end = Time(end_time)
    time_range = time_grid_from_range(time_range=[start, end], time_resolution=interval*units.minute)
    number_of_days = end.mjd - start.mjd
    if number_of_days*4 < float(interval)/2:
        # Hack to speed up calculation by factor of ~3
        sun_coords = get_sun(time_range[int(len(time_range)/2)])
        sun = FixedTarget(name='sun', coord=SkyCoord(sun_coords.ra, sun_coords.dec, unit='deg'))
    else:
        sun = get_sun(time_range)
    return sun, time_range