docs: 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)