Exemplo n.º 1
0
 def screen_bad_profiles(self):
     good_ind = []
     for ind, flag in enumerate(self.data['quality_flag']):
         if not (utils.isbit(flag, 1) and utils.isbit(flag, 2)):
             good_ind.append(ind)
     for key in self.data.keys():
         self.data[key] = self.data[key][good_ind]
Exemplo n.º 2
0
 def _find_pixels_hard_to_correct(self) -> np.ndarray:
     melting_layer = utils.isbit(self.classification.category_bits, 3)
     hard_to_correct = np.cumsum(melting_layer, axis=1) >= 1
     hard_to_correct[self.classification.is_rain, :] = True
     attenuated = self._find_attenuated_part_of_atmosphere()
     hard_to_correct[attenuated & self.atten.mask] = True
     return hard_to_correct
Exemplo n.º 3
0
 def _read_bits(self, bit_type):
     """ Converts bitfield into dictionary."""
     nc = netCDF4.Dataset(self._categorize_file)
     bitfield = nc.variables[f"{bit_type}_bits"][:]
     keys = getattr(CategorizeBits, f"{bit_type}_keys")
     bits = {key: utils.isbit(bitfield, i) for i, key in enumerate(keys)}
     nc.close()
     return bits
Exemplo n.º 4
0
 def _read_bits(self, bit_type: str) -> dict:
     """Converts bitfield into dictionary."""
     nc = netCDF4.Dataset(self._categorize_file)
     try:
         bitfield = nc.variables[f"{bit_type}_bits"][:]
     except KeyError as err:
         nc.close()
         raise KeyError from err
     keys = getattr(CategorizeBits, f"{bit_type}_keys")
     bits = {key: utils.isbit(bitfield, i) for i, key in enumerate(keys)}
     nc.close()
     return bits
Exemplo n.º 5
0
def test_isbit(number, nth_bit, result):
    assert utils.isbit(number, nth_bit) is result
Exemplo n.º 6
0
 def __init__(self, model: Model, classification: ClassificationResult):
     self._dheight = utils.mdiff(model.height)
     self._model = model.data_dense
     self._liquid_in_pixel = utils.isbit(classification.category_bits, 0)
     self.classification = classification