code: def setup_sfr_obs(self):
          
          if not self.sfr_obs:
              return
  
          if self.m.sfr is None:
              self.logger.lraise("no sfr package found...")
          org_sfr_out_file = os.path.join(self.org_model_ws,"{0}.sfr.out".format(self.m.name))
          if not os.path.exists(org_sfr_out_file):
              self.logger.lraise("setup_sfr_obs() error: could not locate existing sfr out file: {0}".
                                 format(org_sfr_out_file))
          new_sfr_out_file = os.path.join(self.m.model_ws,os.path.split(org_sfr_out_file)[-1])
          shutil.copy2(org_sfr_out_file,new_sfr_out_file)
          seg_group_dict = None
          if isinstance(self.sfr_obs,dict):
              seg_group_dict = self.sfr_obs
  
          df = pyemu.gw_utils.setup_sfr_obs(new_sfr_out_file,seg_group_dict=seg_group_dict,
                                            model=self.m,include_path=True)
          if df is not None:
              self.obs_dfs["sfr"] = df
          self.frun_post_lines.append("pyemu.gw_utils.apply_sfr_obs()")
docs: setup sfr ASCII observations