code: def select(self, selection_specs=None, **selection):
          
          if selection_specs is not None and not isinstance(selection_specs, (list, tuple)):
              selection_specs = [selection_specs]
          selection = {dim: sel for dim, sel in selection.items()
                       if dim in self.dimensions()+['selection_mask']}
          if (selection_specs and not any(self.matches(sp) for sp in selection_specs)
              or not selection):
              return self
  
          data = self.interface.select(self, **selection)
  
          if np.isscalar(data):
              return data
          else:
              return self.clone(data)
docs: Applies selection by dimension name
  
          Applies a selection along the dimensions of the object using
          keyword arguments. The selection may be narrowed to certain
          objects using selection_specs. For container objects the
          selection will be applied to all children as well.
  
          Selections may select a specific value, slice or set of values:
  
          * value: Scalar values will select rows along with an exact
                   match, e.g.:
  
              ds.select(x=3)
  
          * slice: Slices may be declared as tuples of the upper and
                   lower bound, e.g.:
  
              ds.select(x=(0, 3))
  
          * values: A list of values may be selected using a list or
                    set, e.g.:
  
              ds.select(x=[0, 1, 2])
  
          Args:
              selection_specs: List of specs to match on
                  A list of types, functions, or type[.group][.label]
                  strings specifying which objects to apply the
                  selection on.
              **selection: Dictionary declaring selections by dimension
                  Selections can be scalar values, tuple ranges, lists
                  of discrete values and boolean arrays
  
          Returns:
              Returns an Dimensioned object containing the selected data
              or a scalar if a single value was selected