code: def get_dataset(self, key, info):
          
  
          if key.name in CHANNEL_NAMES:
              dataset = self.calibrate(key)
          elif key.name in ['longitude', 'latitude']:
              if self.lons is None or self.lats is None:
                  self.navigate()
              if key.name == 'longitude':
                  dataset = create_xarray(self.lons)
              else:
                  dataset = create_xarray(self.lats)
              dataset.attrs = info
          else:  # Get sun-sat angles
              if key.name in ANGLES:
                  if isinstance(getattr(self, ANGLES[key.name]), np.ndarray):
                      dataset = create_xarray(getattr(self, ANGLES[key.name]))
                  else:
                      dataset = self.get_angles(key.name)
              else:
                  raise ValueError("Not a supported sun-sensor viewing angle: %s", key.name)
  
          dataset.attrs.update({'platform_name': self.platform_name,
                                'sensor': self.sensor})
          dataset.attrs.update(key.to_dict())
  
          if not self._shape:
              self._shape = dataset.shape
  
          return dataset
docs: Get a dataset from the file.