예제 #1
0
    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]
예제 #2
0
    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]
예제 #3
0
    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]
예제 #4
0
    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]