def test_reduce_mda(self): """Test metadata size reduction.""" mda = { 'a': 1, 'b': np.array([1, 2, 3]), 'c': np.array([1, 2, 3, 4]), 'd': { 'a': 1, 'b': np.array([1, 2, 3]), 'c': np.array([1, 2, 3, 4]), 'd': { 'a': 1, 'b': np.array([1, 2, 3]), 'c': np.array([1, 2, 3, 4]) } } } exp = { 'a': 1, 'b': np.array([1, 2, 3]), 'd': { 'a': 1, 'b': np.array([1, 2, 3]), 'd': { 'a': 1, 'b': np.array([1, 2, 3]) } } } numpy.testing.assert_equal(hf.reduce_mda(mda, max_size=3), exp) # Make sure, reduce_mda() doesn't modify the original dictionary self.assertIn('c', mda) self.assertIn('c', mda['d']) self.assertIn('c', mda['d']['d'])
def _update_attrs(self, dataset, dataset_info): """Update dataset attributes.""" dataset.attrs['units'] = dataset_info['units'] dataset.attrs['wavelength'] = dataset_info['wavelength'] dataset.attrs['standard_name'] = dataset_info['standard_name'] dataset.attrs['platform_name'] = self.mda['platform_name'] dataset.attrs['sensor'] = 'seviri' dataset.attrs['georef_offset_corrected'] = self.mda['offset_corrected'] orbital_parameters = { 'projection_longitude': self.mda['projection_parameters']['ssp_longitude'], 'projection_latitude': 0., 'projection_altitude': self.mda['projection_parameters']['h'], 'satellite_nominal_longitude': self.header['15_DATA_HEADER']['SatelliteStatus'] ['SatelliteDefinition']['NominalLongitude'], 'satellite_nominal_latitude': 0.0 } try: actual_lon, actual_lat, actual_alt = self.satpos orbital_parameters.update({ 'satellite_actual_longitude': actual_lon, 'satellite_actual_latitude': actual_lat, 'satellite_actual_altitude': actual_alt }) except NoValidOrbitParams as err: logger.warning(err) dataset.attrs['orbital_parameters'] = orbital_parameters if self.include_raw_metadata: dataset.attrs['raw_metadata'] = reduce_mda( self.header, max_size=self.mda_max_array_size)
def _reduce(self, mda, max_size): """Reduce the metadata.""" if self._reduced is None: self._reduced = utils.reduce_mda(mda, max_size=max_size) return self._reduced
def _reduce(self, mda, max_size): if self._reduced is None: self._reduced = utils.reduce_mda(mda, max_size=max_size) return self._reduced