code: def step(self):
          
  
          # If the nproc parameter of __init__ is zero, just iterate
          # over the K consensus instances instead of using
          # multiprocessing to do the computations in parallel. This is
          # useful for debugging and timing comparisons.
          if self.nproc == 0:
              for k in range(self.xstep.cri.K):
                  md_step_group(k)
          else:
              self.pool.map(md_step_group, range(self.xstep.cri.K))
  
          ccmodmd_ystep()
          ccmodmd_ustep()
          cbpdnmd_setdict()
docs: Do a single iteration over all cbpdn and ccmod steps. Those that
          are not coupled on the K axis are performed in parallel.