code: def merge_scrfiles(self, remove_scrfiles=True):
          
          scr_files = list(filter(None, [task.outdir.has_abiext("SCR") for task in self]))
  
          self.history.info("Will call mrgscr to merge %s SCR files:\n" % len(scr_files))
          assert len(scr_files) == len(self)
  
          mrgscr = wrappers.Mrgscr(manager=self[0].manager, verbose=1)
          final_scr = mrgscr.merge_qpoints(self.outdir.path, scr_files, out_prefix="out")
  
          if remove_scrfiles:
              for scr_file in scr_files:
                  try:
                      os.remove(scr_file)
                  except IOError:
                      pass
  
          return final_scr
docs: This method is called when all the q-points have been computed.
          It runs `mrgscr` in sequential on the local machine to produce
          the final SCR file in the outdir of the `Work`.
          If remove_scrfiles is True, the partial SCR files are removed after the merge.