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)
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'))
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)
def test_multifrequency(): m = Model("dmrt_qcacp_shortrange", DORT) sensor = amsre() testpack = setup_snowpack() m.run(sensor, testpack)
def test_multifrequency(): m = Model(DMRT_QCACP_ShortRange, DORT) sensor = amsre() testpack = setup_snowpack() m.run(sensor, testpack)
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)
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
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
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
def setup_func_em(testpack=None): if testpack is None: testpack = setup_func_sp() sensor = amsre('37V') emmodel = Rayleigh(sensor, testpack) return emmodel
def test_theta_is_55(): se = amsre(channel='37V') eq_(se.theta, 0.95993108859688125)
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']
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']
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')
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
def setup_func_em(testpack=None): if testpack is None: testpack = setup_func_sp() sensor = amsre('37V') emmodel = IBA_original(sensor, testpack) return emmodel
def test_theta_is_55(): se = amsre(channel='37V') assert se.theta == 0.95993108859688125
def setup_func_em(testpack=None): if testpack is None: testpack = setup_func_sp() sensor = amsre('37V') emmodel = Prescribed_KsKaEps(sensor, testpack) return emmodel