def startup(self, root):
        pathname = root.pathname
        if MPI and root.is_active():
            rrank = root.comm.rank
            rowned = root._owning_ranks

        self._record_p = self._record_u = self._record_r = False

        for recorder in self._recorders:
            recorder.startup(root)

            if not recorder._parallel:
                self._has_serial_recorders = True

            pnames = recorder._filtered[pathname]['p']
            unames = recorder._filtered[pathname]['u']
            rnames = recorder._filtered[pathname]['r']

            if pnames:
                self._record_p = True
            if unames:
                self._record_u = True
            if rnames:
                self._record_r = True

            # now localize the lists to only
            # include local vars.  We need to do this after determining
            # if any mpi procs need to record each of params, unknowns,
            # and resids.  If none of them do, we can skip the mpi gather
            # for that group of vars.
            if MPI:
                pnames = {n for n in pnames if rrank==rowned[n]}
                unames = {n for n in unames if rrank==rowned[n]}
                rnames = {n for n in rnames if rrank==rowned[n]}

                # reduce the filter set for any parallel recorders to only
                # those variables that are owned by that rank
                if recorder._parallel:
                    recorder._filtered[pathname]['p'] = pnames
                    recorder._filtered[pathname]['u'] = unames
                    recorder._filtered[pathname]['r'] = rnames

            self._vars_to_record['pnames'].update(pnames)
            self._vars_to_record['unames'].update(unames)
            self._vars_to_record['rnames'].update(rnames)
If there are no more users for this message, delete it from
dataset/ETHPy150Open OpenMDAO/OpenMDAO/openmdao/recorders/recording_manager.py/RecordingManager.startup--crossover with--dataset/ETHPy150Open fp7-ofelia/ocf/expedient/src/python/expedient/common/messaging/models.py/clean_messages