setup modflow head save file observations for given kper (zero-based
        stress period index) and k (zero-based layer index) pairs using the
        kperk argument.

        Note
        ----
            this can setup a shit-ton of observations

            this is useful for dataworth analyses or for monitoring
            water levels as forecasts

def setup_hds(self):
        """ setup modflow head save file observations for given kper (zero-based
        stress period index) and k (zero-based layer index) pairs using the
        kperk argument.

        Note
        ----
            this can setup a shit-ton of observations

            this is useful for dataworth analyses or for monitoring
            water levels as forecasts



        """
        if self.hds_kperk is None or len(self.hds_kperk) == 0:
            return
        from .gw_utils import setup_hds_obs
        # if len(self.hds_kperk) == 2:
        #     try:
        #         if len(self.hds_kperk[0] == 2):
        #             pass
        #     except:
        #         self.hds_kperk = [self.hds_kperk]
        oc = self.m.get_package("OC")
        if oc is None:
            raise Exception("can't find OC package in model to setup hds grid obs")
        if not oc.savehead:
            raise Exception("OC not saving hds, can't setup grid obs")
        hds_unit = oc.iuhead
        hds_file = self.m.get_output(unit=hds_unit)
        assert os.path.exists(os.path.join(self.org_model_ws,hds_file)),\
        "couldn't find existing hds file {0} in org_model_ws".format(hds_file)
        shutil.copy2(os.path.join(self.org_model_ws,hds_file),
                     os.path.join(self.m.model_ws,hds_file))
        inact = None
        if self.m.lpf is not None:
            inact = self.m.lpf.hdry
        elif self.m.upw is not None:
            inact = self.m.upw.hdry
        if inact is None:
            skip = lambda x: np.NaN if x == self.m.bas6.hnoflo else x
        else:
            skip = lambda x: np.NaN if x == self.m.bas6.hnoflo or x == inact else x
        print(self.hds_kperk)
        frun_line, df = setup_hds_obs(os.path.join(self.m.model_ws,hds_file),
                      kperk_pairs=self.hds_kperk,skip=skip)
        self.obs_dfs["hds"] = df
        self.frun_post_lines.append("pyemu.gw_utils.apply_hds_obs('{0}')".format(hds_file))
        self.tmp_files.append(hds_file)