def __init__(self, name="gmi", band_indices=None, stokes_dimension=1): if not band_indices is None: channel_indices = [] i = 0 for bi in band_indices: for o in GMI.sidebands[bi]: channel_indices += [i] i += 1 center_frequencies = [ GMI.center_frequencies[i] for i in band_indices ] offsets = [GMI.sidebands[i] for i in band_indices] self.nedt = GMI.nedt[channel_indices] else: center_frequencies = GMI.center_frequencies offsets = GMI.sidebands self.nedt = GMI.nedt channels, sensor_response = sensor_properties(center_frequencies, offsets, order="negative") super().__init__(name, channels, stokes_dimension=stokes_dimension) self.sensor_line_of_sight = np.array([[132.0]]) self.sensor_position = np.array([[600e3]]) m = sensor_response.shape[0] self.sensor_response_f = self.f_grid[:m] self.sensor_response_pol = self.f_grid[:m] self.sensor_response_dlos = self.f_grid[:m, np.newaxis] self.sensor_response = sensor_response self.sensor_f_grid = self.f_grid[:m]
def __init__(self, name="ici", band_indices=None, stokes_dimension=1): """ This creates an instance of the ICI sensor to be used within a :code:`parts` simulation. Arguments: name(:code:`str`): The name of the sensor used within the parts simulation. band_indicees(:code:`list`): Indices of the frequency bands to be used. stokes_dimension(:code:`int`): The stokes dimension to use for the retrievals. """ if not band_indices is None: channel_indices = [] i = 0 for bi in band_indices: for o in ICI.sidebands[bi]: channel_indices += [i] i += 1 center_frequencies = [ ICI.center_frequencies[i] for i in band_indices ] offsets = [ICI.sidebands[i] for i in band_indices] self.nedt = ICI.nedt[channel_indices] else: center_frequencies = ICI.center_frequencies offsets = ICI.sidebands self.nedt = ICI.nedt channels, sensor_response = sensor_properties(center_frequencies, offsets, order="negative") super().__init__(name, channels, stokes_dimension=stokes_dimension) self.sensor_line_of_sight = np.array([[132.0]]) self.sensor_position = np.array([[600e3]]) m = sensor_response.shape[0] self.sensor_response_f = self.f_grid[:m] self.sensor_response_pol = self.f_grid[:m] self.sensor_response_dlos = self.f_grid[:m, np.newaxis] self.sensor_response = sensor_response self.sensor_f_grid = self.f_grid[:m]
def __init__(self, stokes_dimension=1): channels, sensor_response = sensor_properties(Ismar.center_frequencies, Ismar.offsets, order="positive") super().__init__(name="ismar", f_grid=channels, stokes_dimension=stokes_dimension) self.sensor_line_of_sight = np.array([180.0]) self.sensor_position = np.array([9300.0]) self.iy_unit = "RJBT" m = sensor_response.shape[0] self.sensor_response_f = self.f_grid[:m] self.sensor_response_pol = self.f_grid[:m] self.sensor_response_dlos = self.f_grid[:m, np.newaxis] self.sensor_response = sensor_response self.sensor_f_grid = self.f_grid[:m]
def __init__(self, stokes_dimension=1): channels, sensor_response = sensor_properties( HampPassive.center_frequencies, HampPassive.sidebands, order="positive") super().__init__(name="hamp_passive", f_grid=channels, stokes_dimension=stokes_dimension) self.sensor_line_of_sight = np.array([180.0]) self.sensor_position = np.array([12500.0]) m = sensor_response.shape[0] self.sensor_response_f = self.f_grid[:m] self.sensor_response_pol = self.f_grid[:m] self.sensor_response_dlos = self.f_grid[:m, np.newaxis] self.sensor_response = sensor_response self.sensor_f_grid = self.f_grid[:m]