Esempio n. 1
0
    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'])
Esempio n. 2
0
 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)
Esempio n. 3
0
 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
Esempio n. 4
0
 def _reduce(self, mda, max_size):
     if self._reduced is None:
         self._reduced = utils.reduce_mda(mda, max_size=max_size)
     return self._reduced