code: def store_data(self, data, datatype, mode, disp, clobber=False):
          
  
          # Imports
          import h5py as h5
          from ..error import RepoError as RErr
          from ..const import EnumDispDirection as _E_DD
          from ..const import EnumAnharmRepoData
  
          # Must be valid mode
          if not (mode >=0 and isinstance(mode, int)):
              raise ValueError("Mode must be a non-negative integer")
          ## end if
  
          # Must be a valid disp direction
          if not disp in _E_DD:
              raise ValueError("'{0}' is not a valid " +
                      "displacement enum value".format(disp))
          ## end if
  
          # Must be a valid repo data type
          if not datatype in EnumAnharmRepoData:
              raise ValueError("'{0}' is not a valid " +
                      "data type enum value".format(datatype))
          ## end if
  
          # Get the appropriate geom group name
          if disp == _E_DD.NO_DISP:
              grpname = self.G_geom_ref
          else:
              grpname = self.F_mode_fmt % (mode, self.dircode[disp])
          ## end if
  
          # Get the group, creating if absent
          try:
              grp = self._repo.require_group(grpname)
          except AttributeError:
              # Presume repo not open/attached
              raise RErr(RErr.STATUS,
                          "Cannot store; no repository open", "")
          ## end try
  
          # If dataset exists in repo group, obliterate or complain. Can't use
          #  'require_dataset' since the object could be changing dimension(s)
          #  and h5py can't do that
          if datatype in grp.keys():
              if clobber:
                  grp.pop(datatype)
              else:
                  raise RErr(RErr.DATA,
                          "Dataset to be stored exists and clobber == False",
                          self._repo.filename)
              ## end if
          ## end if
  
          # Store the new data. DOES NOT ENSURE CONSISTENCY with any
          #  other data in the repository.
          grp.create_dataset(datatype, data=data)
  
          # Set as dirty and flush the repo
          self.set_dirty(True)
          self._repo.flush()
docs: .. todo:: store_data docstring