code: def setup_observations(self):
          
          obs_methods = [self.setup_water_budget_obs,self.setup_hyd,
                         self.setup_smp,self.setup_hob,self.setup_hds,
                         self.setup_sfr_obs]
          obs_types = ["mflist water budget obs","hyd file",
                       "external obs-sim smp files","hob","hds","sfr"]
          self.obs_dfs = {}
          for obs_method, obs_type in zip(obs_methods,obs_types):
              self.log("processing obs type {0}".format(obs_type))
              obs_method()
              self.log("processing obs type {0}".format(obs_type))
docs: main entry point for setting up observations