def _build_process_type_list(self):
        """Generates lists of processes organized by process type.

        Following object attributes are generated or updated:

        :ivar dict process_types:   a dictionary with entries:
                                    ``'diagnostic'``, ``'explicit'``,
                                    ``'implicit'`` and ``'adjustment'`` which
                                    point to a list of processes according to
                                    the process types.

        The ``process_types`` dictionary is created while walking
        through the processes with :func:`~climlab.utils.walk.walk_processes`

        CHANGING THIS TO REFER ONLY TO THE CURRENT LEVEL IN SUBPROCESS TREE

        """
        self.process_types = {'diagnostic': [], 'explicit': [], 'implicit': [], 'adjustment': []}
        #for name, proc, level in walk.walk_processes(self, topdown=self.topdown):
        #    self.process_types[proc.time_type].append(proc)
        for name, proc in self.subprocess.items():
            self.process_types[proc.time_type].append(proc)
        self.has_process_type_list = True
Generates lists of processes organized by process type.

        Following object attributes are generated or updated:

        :ivar dict process_types:   a dictionary with entries:
                                    ``'diagnostic'``, ``'explicit'``,
                                    ``'implicit'`` and ``'adjustment'`` which
                                    point to a list of processes according to
                                    the process types.

        The ``process_types`` dictionary is created while walking
        through the processes with :func:`~climlab.utils.walk.walk_processes`

        CHANGING THIS TO REFER ONLY TO THE CURRENT LEVEL IN SUBPROCESS TREE