Esempio n. 1
0
def test_permittivity_model():

    new_iba = derived_IBA(
        effective_permittivity_model=effective_permittivity.maxwell_garnett)
    layer = setup_func_pc(0.3e-3)
    sensor = amsre('37V')
    new_iba(sensor, layer)
Esempio n. 2
0
def test_snowpack_dimension():

    m = Model("dmrt_qcacp_shortrange", DORT)

    temperatures = [200, 250, 270]

    sensor = amsre()
    snowpacks = [
        make_snowpack([2000],
                      StickyHardSpheres,
                      density=[250],
                      temperature=t,
                      radius=0.3e-3,
                      stickiness=0.2) for t in temperatures
    ]

    res = m.run(sensor,
                snowpacks,
                snowpack_dimension=('temperature', temperatures))

    assert np.allclose(res.temperature, temperatures)

    with pytest.raises(SMRTError):
        m.run(sensor,
              snowpacks,
              snowpack_dimension=(temperatures, 'temperature'))
Esempio n. 3
0
def test_dmrt_oneconfig():
    # prepare inputs
    l = 2

    nl = l//2  # // Forces integer division
    thickness = np.array([0.1, 0.1]*nl)
    thickness[-1] = 100  # last one is semi-infinit
    radius = np.array([2e-4]*l)
    temperature = np.array([250.0, 250.0]*nl)
    density = [200, 400]*nl
    stickiness = [0.1, 0.1]*nl

    # create the snowpack
    snowpack = make_snowpack(thickness,
                             "sticky_hard_spheres",
                             density=density,
                             temperature=temperature,
                             radius=radius,
                             stickiness=stickiness)

    # create the EM Model
    m = make_model("dmrt_shortrange", "dort")

    # create the sensor
    radiometer = amsre('37V')

    # run the model
    res = m.run(radiometer, snowpack)

    print(res.TbV(), res.TbH())
    ok_((res.TbV() - 202.34939425929616) < 1e-4)
    ok_((res.TbH() - 187.05199255031036) < 1e-4)
Esempio n. 4
0
def test_multifrequency():

    m = Model("dmrt_qcacp_shortrange", DORT)

    sensor = amsre()
    testpack = setup_snowpack()

    m.run(sensor, testpack)
Esempio n. 5
0
def test_multifrequency():

    m = Model(DMRT_QCACP_ShortRange, DORT)

    sensor = amsre()
    testpack = setup_snowpack()

    m.run(sensor, testpack)
Esempio n. 6
0
def test_joblib_parallel_run():

    m = Model("dmrt_qcacp_shortrange", DORT)

    sensor = amsre()
    snowpacks = [
        make_snowpack([2000],
                      StickyHardSpheres,
                      density=[250],
                      temperature=t,
                      radius=0.3e-3,
                      stickiness=0.2) for t in [200, 250, 270]
    ]

    m.run(sensor, snowpacks, parallel_computation=True)
Esempio n. 7
0
def test_dmrt_oneconfig():

    snowpack = setup_snowpack()

    # create the EM Model
    m = make_model("dmrt_qcacp_shortrange", "dort")

    # create the sensor
    radiometer = amsre("37V")

    # run the model
    res = m.run(radiometer, snowpack)

    print(res.TbV(), res.TbH())
    assert (res.TbV() - 202.1726891947754) < 1e-4
    assert (res.TbH() - 187.45835882462404) < 1e-4
Esempio n. 8
0
def test_dmrt_twoconfig():

    snowpack = setup_snowpack()

    # create the EM Model
    m = make_model("dmrt_qcacp_shortrange", "dort")

    # create the sensor
    radiometer = amsre(["19", "37"])

    print(radiometer.configurations)

    # run the model
    res = m.run(radiometer, snowpack)

    print(res.TbV(), res.TbH())
    assert (res.Tb(channel="37V") - 202.1726891947754) < 1e-4
    assert (res.Tb(channel="37H") - 187.45835882462404) < 1e-4

    assert (res.Tb(channel="19V") - 242.550043) < 1e-4
    assert (res.Tb(channel="19H") - 230.118448) < 1e-4
Esempio n. 9
0
def setup_func_rayleigh():
    testpack = setup_func_indep(radius=1e-4)
    sensor = amsre('10V')
    emmodel_iba = IBA(sensor, testpack)
    emmodel_ray = Rayleigh(sensor, testpack)
    return emmodel_iba, emmodel_ray
Esempio n. 10
0
def setup_func_em(testpack=None):
    if testpack is None:
        testpack = setup_func_sp()
    sensor = amsre('37V')
    emmodel = Rayleigh(sensor, testpack)
    return emmodel
Esempio n. 11
0
def test_theta_is_55():
    se = amsre(channel='37V')
    eq_(se.theta, 0.95993108859688125)
Esempio n. 12
0
def test_map_channel37_to_dictionary():
    # Test to ensure channel frequency of 37V is assigned 36.5GHz frequency and polarization V
    se = amsre(channel='37V')
    assert se.frequency == 36.5e9
    assert se.polarization == ['V']
Esempio n. 13
0
def test_map_channel19_to_dictionary():
    # Test to ensure channel frequency of 19H is assigned 18.7GHz frequency and polarization H
    se = amsre(channel='19H')
    assert se.frequency == 18.7e9
    assert se.polarization == ['H']
Esempio n. 14
0
def test_amsre_channel_recognized():
    # This tests that system error is raised if the AMSR-E channel is not in the dictionary list
    se = amsre(channel='20H')
Esempio n. 15
0
def setup_func_em(testpack=None):
    if testpack is None:
        testpack = setup_func_shs()
    sensor = amsre('37V')
    emmodel = DMRT_QCACP_ShortRange(sensor, testpack)
    return emmodel
Esempio n. 16
0
def setup_func_em(testpack=None):
    if testpack is None:
        testpack = setup_func_sp()
    sensor = amsre('37V')
    emmodel = IBA_original(sensor, testpack)
    return emmodel
Esempio n. 17
0
def test_theta_is_55():
    se = amsre(channel='37V')
    assert se.theta == 0.95993108859688125
Esempio n. 18
0
def setup_func_em(testpack=None):
    if testpack is None:
        testpack = setup_func_sp()
    sensor = amsre('37V')
    emmodel = Prescribed_KsKaEps(sensor, testpack)
    return emmodel