def register(self, driver, inputs, outputs):
        """ Register names for later record call from `driver`. """

        import h5py  # do it here to avoid warning from autodoc in Sphinx

        self._cfg_map[driver] = (inputs, outputs)
        scope = driver.parent
        prefix = scope.get_pathname()

        case_recording_filename = '%s_%s_%s.hdf5' % (self.filename_base, prefix, driver.name)

        self.case_recording_filenames[driver.get_pathname()] = case_recording_filename

        if not driver._system.is_active():
            return # do not want to open file if this driver not active on this process

        if driver.workflow._system.mpi.size > 1:
            communicator = driver.workflow._system.mpi.comm # Recommened by Bret. check to see if None, MPI.COMM_NULL
            self.hdf5_case_record_file_objects[driver] = h5py.File(case_recording_filename, "w",driver='mpio', comm=communicator)
        else:
            self.hdf5_case_record_file_objects[driver] = h5py.File(case_recording_filename, "w")
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/casehandlers/hdf5case.py/HDF5CaseRecorder.register/original