Exemplo n.º 1
0
def test_simulation_scattering_combined(scattering_solver):

    ice = ScatteringSpecies("ice", D14(-1.0, 2.0),
                            scattering_data = scattering_data,
                            scattering_meta_data = scattering_meta)
    ice.psd.t_min = 0.0
    ice.psd.t_max = 275.0

    ici = ICI(channel_indices = [0, -1], stokes_dimension = 1)
    ici.sensor_line_of_sight = np.array([[135.0]])
    ici.sensor_position = np.array([[600e3]])

    cs = CloudSat(stokes_dimension = 1)
    cs.range_bins = np.linspace(0, 30e3, 31)
    cs.sensor_line_of_sight = np.array([[135.0]])
    cs.sensor_position = np.array([[600e3]])

    atmosphere = Atmosphere1D(absorbers = [O2(), N2(), H2O()],
                              scatterers = [ice],
                              surface = Tessem())
    simulation = ArtsSimulation(atmosphere = atmosphere,
                                data_provider = DataProvider(),
                                sensors = [ici, cs])

    simulation.scattering_solver = scattering_solver()
    simulation.setup()
    simulation.run()
    y = np.copy(simulation.workspace.y)
    return y
Exemplo n.º 2
0
def setup_retrieval_simulation(retrieval_type = "passive",
                               scattering = False):
    """
    Setup up a retrieval simulation with or without
    scattering.
    """

    #
    # Scattering
    #

    ice = ScatteringSpecies("ice", D14(-1.0, 2.0),
                            scattering_data = scattering_data,
                            scattering_meta_data = scattering_meta)
    if scattering:
        scatterers = [ice]
    else:
        scatterers = []

    ice.psd.t_min = 0.0
    ice.psd.t_max = 275.0

    #
    # Sensors
    #

    ici = ICI(stokes_dimension = 1)
    ici.sensor_line_of_sight = np.array([[135.0]])
    ici.sensor_position = np.array([[600e3]])

    cs = CloudSat()
    cs.range_bins = np.linspace(0, 30e3, 31)
    cs.sensor_line_of_sight = np.array([[135.0]])
    cs.sensor_position = np.array([[600e3]])
    cs.y_min = -35.0

    if retrieval_type == "active":
        sensors = [cs]
    elif retrieval_type == "passive":
        sensors = [ici]
    else:
        sensors = [cs, ici]


    atmosphere = Atmosphere1D(absorbers = [O2(), N2(), H2O()],
                              scatterers = scatterers,
                              surface = Tessem())
    simulation = ArtsSimulation(atmosphere = atmosphere,
                                sensors = sensors)
    simulation.scattering_solver = Disort()
    return simulation
Exemplo n.º 3
0
def test_simulation_scattering(scattering_solver):

    ice = ScatteringSpecies("ice", D14(-1.0, 2.0),
                            scattering_data = scattering_data,
                            scattering_meta_data = scattering_meta)
    ice.psd.t_min = 0.0
    ice.psd.t_max = 275.0

    atmosphere = Atmosphere1D(absorbers = [O2(), N2(), H2O()],
                              scatterers = [ice],
                              surface = Tessem())
    ici = ICI(stokes_dimension = 1, channel_indices = [1, -1])
    ici.sensor_line_of_sight = np.array([[135.0]])
    ici.sensor_position = np.array([[600e3]])

    simulation = ArtsSimulation(atmosphere = atmosphere,
                                data_provider = DataProvider(),
                                sensors = [ici])
    simulation.scattering_solver = scattering_solver()
    simulation.setup()
    simulation.run()
Exemplo n.º 4
0
                                data_provider = DataProvider(),
                                sensors = [cs])
    simulation.setup()
    simulation.run()

    y = np.copy(cs.y)
    assert(y.shape[0] == 2)
    assert(y.shape[-1] == 2)


ice = ScatteringSpecies("ice", D14(-1.0, 2.0),
                        scattering_data = scattering_data,
                        scattering_meta_data = scattering_meta)
ice.psd.t_min = 0.0
ice.psd.t_max = 275.0

atmosphere = Atmosphere1D(absorbers = [O2(), N2(), H2O()],
                            scatterers = [],
                            surface = Tessem())
ici = ICI(stokes_dimension = 1, channel_indices = [1, -1])
ici.sensor_line_of_sight = np.array([[135.0]])
ici.sensor_position = np.array([[600e3]])

simulation = ArtsSimulation(atmosphere = atmosphere,
                            data_provider = DataProvider(),
                            sensors = [ici])
simulation.scattering_solver = RT4()
simulation.setup()
for i in range(100):
    simulation.run()