code: def _calc_obs_local(self,parensemble):
          '''
          propagate the ensemble forward using sweep.
          '''
          self.logger.log("evaluating ensemble of size {0} locally with sweep".\
                          format(parensemble.shape[0]))
          parensemble.to_csv(self.sweep_in_csv)
          if self.num_slaves > 0:
              master_thread = self._get_master_thread()
              pyemu.utils.start_slaves(self.slave_dir,"pestpp-swp",self.pst.filename,
                                       self.num_slaves,slave_root='..',port=self.port)
              master_thread.join()
          else:
              os.system("pestpp-swp {0}".format(self.pst.filename))
  
          self.logger.log("evaluating ensemble of size {0} locally with sweep".\
                          format(parensemble.shape[0])f _calc_obs_local(self,parensemble):
          '''
          propagate the ensemble forward using sweep.
          '''
          self.logger.log("evaluating ensemble of size {0} locally with sweep".\
                          format(parensemble.shape[0]))
          parensemble.to_csv(self.sweep_in_csv)
          if self.num_slaves > 0:
              master_thread = self._get_master_thread()
              pyemu.utils.start_slaves(self.slave_dir,"pestpp-swp",self.pst.filename,
                                       self.num_slaves,slave_root='..',port=self.port)
              master_thread.join()
          else:
              os.system("pestpp-swp {0}".format(self.pst.filename))
  
          self.logger.log("evaluating ensemble of size {0} locally with sweep".\
                          format(parensemble.shape[0]))
docs: propagate the ensemble forward using sweep.