def make_plot(time, config, step):
    """
    create a three color and all composite images for a given time
    NOTE: channel mins and maxes are currently hardcoded since this is a very specific script
    :param i: the index to save the file as
    :param time:
    :param config:
    :return:
    """
    fig, ax = plt.subplots()
    try:
        result = Fetcher(time, products=config.products,
                         suvi_composite_path=config.suvi_composite_path).fetch(multithread=False)
        if result:
            arr = make_three_color(result, time, step, config, upper_val=(2.4, 2.4, 2.4))
        else:
            arr = np.zeros((1280, 1280, 3))
    except ValueError:

        arr = np.zeros((1280, 1280, 3))

    ax.imshow(arr, origin='lower')
    timestr = time.strftime("%Y-%m-%d %H:%M:%S")
    fnextend = time.strftime("%Y%m%d%H%M%S")
    ax.set_title(timestr)
    ax.set_axis_off()
    fig.savefig("three_{}.png".format(fnextend), bbox_inches='tight', dpi=300)
    plt.close(fig)

    channel_min = {'suvi-l2-ci094': 0,
                   'suvi-l2-ci131': 0,
                   'suvi-l2-ci171': 0,
                   'suvi-l2-ci195': 0,
                   'suvi-l2-ci284': 0,
                   'suvi-l2-ci304': 0}
    channel_max = {'suvi-l2-ci094': 1,
                   'suvi-l2-ci131': 1,
                   'suvi-l2-ci171': 1.8,
                   'suvi-l2-ci195': 1.8,
                   'suvi-l2-ci284': 1.8,
                   'suvi-l2-ci304': 2.5}

    for channel in channel_min:
        fig, ax = plt.subplots()
        if result[channel][1] is not None and \
                abs((time - date_parser.parse(result[channel][0]['date-end'])).total_seconds()) < step.total_seconds()/2.0:
            dat = np.power(result[channel][1], 0.25)
            ax.set_title(date_parser.parse(result[channel][0]['date-obs']).strftime("%Y-%m-%d %H:%M:%S"))
            dat[np.isnan(dat)] = 0
        else:
            dat = np.zeros((1280, 1280))
            ax.set_title(timestr)
        ax.imshow(dat, vmin=channel_min[channel], vmax=channel_max[channel], cmap='gray', origin='lower')
        ax.set_axis_off()
        fig.savefig("{}_{}.png".format(channel, fnextend), bbox_inches='tight', dpi=300)
        plt.close(fig)