def record_iteration(self, params, unknowns, resids, metadata):

        if not self.out:  # if self.out is None, just do nothing
            return

        iteration_coordinate = metadata['coord']
        timestamp = metadata['timestamp']

        write = self.out.write
        fmat = "Timestamp: {0!r}\n"
        write(fmat.format(timestamp))

        fmat = "Iteration Coordinate: {0:s}\n"
        write(fmat.format(format_iteration_coordinate(iteration_coordinate)))

        self._write_success_info(metadata)

        if self.options['record_params']:
            write("Params:\n")
            for param, val in sorted(iteritems(self._filter_vector(params,
                                                   'p',iteration_coordinate))):
                write("  {0}: {1}\n".format(param, str(val)))

        if self.options['record_unknowns']:
            write("Unknowns:\n")
            for unknown, val in sorted(iteritems(self._filter_vector(unknowns,
                                                   'u',iteration_coordinate))):
                write("  {0}: {1}\n".format(unknown, str(val)))

        if self.options['record_resids']:
            write("Resids:\n")
            for resid, val in sorted(iteritems(self._filter_vector(resids,
                                                   'r',iteration_coordinate))):
                write("  {0}: {1}\n".format(resid, str(val)))

        # Flush once per iteration to allow external scripts to process the data.
        self.out.flush()
Dump the given run data in a "pretty" form.
dataset/ETHPy150Open OpenMDAO/OpenMDAO/openmdao/recorders/dump_recorder.py/DumpRecorder.record_iteration