def METHOD_NAME(self, step_num, islast_step=False):
    """
    Render the map image, according to current parameters.
    :param step_num: the model step number you want rendered.
    :type step_num: int
    :param islast_step: default is False. Flag that indicates that step_num
        is last step. If 'output_last_step' is True then this is written
        out
    :type islast_step: bool
    :returns: A dict of info about this step number if this step
        is to be output, None otherwise.
        'step_num': step_num
        'image_filename': filename
        'time_stamp': time_stamp # as ISO string
    use super to call base class write_output method
    If this is last step, then data is written; otherwise
    prepare_for_model_step determines whether to write the output for
    this step based on output_timestep
    """
    super(Renderer, self).METHOD_NAME(step_num, islast_step)
    if not self._write_step:
        return None
    self.clear_foreground()
    if self.draw_back_to_fore:
        self.copy_back_to_fore()
    # draw data for self.draw_ontop second so it draws on top
    scp = self.cache.load_timestep(step_num).items()
    if len(scp) == 1:
        self.draw_elements(scp[0])
    else:
        if self.draw_ontop == 'forecast':
            self.draw_elements(scp[1])
            self.draw_elements(scp[0])
        else:
            self.draw_elements(scp[0])
            self.draw_elements(scp[1])
    time_stamp = scp[0].current_time_stamp
    self.draw_timestamp(time_stamp)
    self.save_foreground_frame(self.animation, self.delay)