Example #1
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'))
Example #2
0
def test_shallow_snowpack():
    warnings.filterwarnings('error', message=".*optically shallow.*", module=".*dort")

    with pytest.raises(UserWarning) as e_info:
        sp = make_snowpack([0.5, 0.5], "homogeneous", density=[300, 250], temperature=2 * [250], interface=2 * [Transparent])
        sensor = active(13e9, 45)
        m = Model(NonScattering, DORT)
        m.run(sensor, sp).sigmaVV()
Example #3
0
def test_multifrequency():

    m = Model("dmrt_qcacp_shortrange", DORT)

    sensor = amsre()
    testpack = setup_snowpack()

    m.run(sensor, testpack)
Example #4
0
def test_multifrequency():

    m = Model(DMRT_QCACP_ShortRange, DORT)

    sensor = amsre()
    testpack = setup_snowpack()

    m.run(sensor, testpack)
Example #5
0
def test_noabsoprtion():

    sp = setup_snowpack()

    sensor = passive(37e9, theta=[30, 40])
    m = Model(NonScattering, DORT)
    res = m.run(sensor, sp)

    np.testing.assert_allclose(res.data, sp.layers[0].temperature)
Example #6
0
def test_selectby_theta():

    sp = setup_snowpack()

    theta = [30, 40]
    sensor = passive(37e9, theta)

    m = Model(NonScattering, DORT)
    res = m.run(sensor, sp)

    print(res.data.coords)
    res.TbV(theta=30)
Example #7
0
def test_returned_theta():

    sp = setup_snowpack()

    theta = [30, 40]
    sensor = passive(37e9, theta)

    m = Model(NonScattering, DORT)
    res = m.run(sensor, sp)

    res_theta = res.coords['theta']
    print(res_theta)
    np.testing.assert_allclose(res_theta, theta)
Example #8
0
def test_noabsoprtion():

    temp = 250
    sp = make_snowpack([100],
                       None,
                       density=[300],
                       temperature=[temp],
                       interface=[Transparent])

    sensor = passive(37e9, theta=[30, 40])

    m = Model(NoneScattering, DORT)
    res = m.run(sensor, sp)

    np.testing.assert_allclose(res.data, temp)
Example #9
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)
Example #10
0
def test_2layer_pack():
    # Will throw error if doesn't run
    sp = setup_2layer_snowpack()
    sensor = active(13e9, 45)
    m = Model(NonScattering, DORT)
    m.run(sensor, sp).sigmaVV()
Example #11
0
def test_depth_hoar_stream_numbers():
    # Will throw error if doesn't run
    sp = setup_snowpack_with_DH()
    sensor = active(13e9, 45)
    m = Model(NonScattering, DORT)
    m.run(sensor, sp).sigmaVV()