docs: def select_dataset(self, quantity):
          """
          Selects the matching dataset and returns its path.
          
          After the dataset has been selected, its values can be accessed trough
          dataset member variable.
          
          Parameters
          ----------
          quantity : str
              name of the quantity
              
          Examples
          --------
          Select DBZH composite        
          
          >>> comp = OdimCOMP('comp.h5')
          >>> dataset_path = comp.select_dataset('DBZH')
          >>> print(dataset_path)
          >>> '/dataset1/data1/data'
          >>> print(comp.dataset)
          [[255 255 255 ..., 255 255 255]
          [255 255 255 ..., 255 255 255]
          [255 255 255 ..., 255 255 255]
          ..., 
          [255 255 255 ..., 255 255 255]
          [255 255 255 ..., 255 255 255]
          [255 255 255 ..., 255 255 255]]
          """
          
          # Files with a following dataset structure.
          # Location of 'quantity' attribute: /dataset1/data1/what
          # Dataset path structure: /dataset1/data1/data
          search_results = self.search('quantity', quantity)
          try:
              quantity_path = search_results[0]
          except IndexError:
              print('Attribute quantity=\'{}\' was not found from file'.format(quantity))
              return None
          full_dataset_path = quantity_path.replace('/what', '/data')
  
          try:
              if isinstance(self[full_dataset_path], h5py.Dataset):
                  self.dataset = self[full_dataset_path].ref
                  return full_dataset_path
              else:
                  self.dataset = None
                  return None
          except KeyError:
              # Files with following dataset structure
              # Location of 'quantity' attribute: /dataset1/what
              # Dataset path structure: /dataset1/data1/data 
              dataset_root_path = re.search( '^/dataset[0-9]+/', quantity_path).group(0)
              dataset_paths = self.datasets()
              for ds_path in dataset_paths:
                  try:
                      full_dataset_path = re.search( '^{}data[0-9]+/data'.format(dataset_root_path), ds_path).group(0)
                      break
                  except:
                      pass
              if isinstance(self[full_dataset_path], h5py.Dataset):
                  self.dataset = self[full_dataset_path].ref
                  return full_dataset_path        
              else:
                  self.dataset = None
                  return None