示例#1
0
 def test_set_attributes(self):
     obj = CloudnetArray(self.time, 'test_name')
     meta = MetaData(long_name='the long name', units='g m-3')
     obj.set_attributes(meta)
     for key, value in zip(['long_name', 'units'], ['the long name', 'g m-3']):
         assert hasattr(obj, key)
         assert getattr(obj, key) == value
示例#2
0
 def test_set_attributes(self):
     obj = CloudnetArray(self.time, "test_name")
     meta = MetaData(long_name="the long name", units="g m-3")
     obj.set_attributes(meta)
     for key, value in zip(["long_name", "units"],
                           ["the long name", "g m-3"]):
         assert hasattr(obj, key)
         assert getattr(obj, key) == value
示例#3
0
 def test_rebin_data_2d(self):
     test_var = self.nc.variables["2d_array"]
     obj = CloudnetArray(test_var, "test_name")
     time = np.array([1, 2, 3, 4, 5])
     time_new = np.array([2.1, 4.1])
     obj.rebin_data(time, time_new)
     result = np.array([[2.5, 2.5, 2.5, 1], [4.5, 4.5, 4.5, 1]])
     assert_array_equal(obj.data, result)
def test_mask_indices(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['time']
    obj = CloudnetArray(test_var, 'test_name')
    obj.mask_indices([0, 1])
    result = ma.array([0, 1, 2, 3, 4], mask=[1, 1, 0, 0, 0])
    assert_array_equal(obj.data.data, result.data)
    assert_array_equal(obj.data.mask, result.mask)
def test_db2lin(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['time']
    name, units = 'test_name', 'dB'
    obj = CloudnetArray(test_var, name, units)
    obj.db2lin()
    assert obj.units == ''
    assert_array_equal(obj.data, utils.db2lin(test_var[:]))
def test_rebin_data(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['2d_array']
    obj = CloudnetArray(test_var, 'test_name')
    time = np.array([1, 2, 3, 4, 5])
    time_new = np.array([2.1, 4.1])
    obj.rebin_data(time, time_new)
    result = np.array([[2.5, 2.5, 2.5, 1], [4.5, 4.5, 4.5, 1]])
    assert_array_equal(obj.data, result)
def test_set_attributes(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['time']
    obj = CloudnetArray(test_var, 'test_name')
    meta = MetaData(long_name='the long name', units='g m-3')
    obj.set_attributes(meta)
    for key, value in zip(['long_name', 'units'], ['the long name', 'g m-3']):
        assert hasattr(obj, key)
        assert getattr(obj, key) == value
示例#8
0
 def test_get_data(self):
     name, units = 'test_name', 'm s-1'
     obj = CloudnetArray(self.time, name, units)
     assert_array_equal(obj.data, self.time[:])
     assert obj.name == name
     assert obj.units == units
     assert obj.data_type == 'f4'
示例#9
0
 def test_get_data(self):
     name, units = "test_name", "m s-1"
     obj = CloudnetArray(self.time, name, units)
     assert_array_equal(obj.data, self.time[:])
     assert obj.name == name
     assert obj.units == units
     assert obj.data_type == "f4"
def test_get_data(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['time']
    name, units = 'test_name', 'm s-1'
    obj = CloudnetArray(test_var, name, units)
    assert_array_equal(obj.data, test_var[:])
    assert obj.name == name
    assert obj.units == units
    assert obj.data_type == 'f4'
示例#11
0
 def test_fetch_attributes(self):
     obj = CloudnetArray(self.time, 'test_name')
     obj.attr1 = 'a'
     obj.attr2 = 'b'
     obj.attr3 = 'c'
     result = ['units', 'attr1', 'attr2', 'attr3']
     assert obj.fetch_attributes() == result
示例#12
0
 def test_fetch_attributes(self):
     obj = CloudnetArray(self.time, "test_name")
     obj.attr1 = "a"
     obj.attr2 = "b"
     obj.attr3 = "c"
     result = ["units", "attr1", "attr2", "attr3"]
     assert obj.fetch_attributes() == result
def test_fetch_attributes(fake_nc_file):
    nc = netCDF4.Dataset(fake_nc_file)
    test_var = nc.variables['time']
    obj = CloudnetArray(test_var, 'test_name')
    obj.attr1 = 'a'
    obj.attr2 = 'b'
    obj.attr3 = 'c'
    result = ['units', 'attr1', 'attr2', 'attr3']
    for attr in obj.fetch_attributes():
        assert attr in result
示例#14
0
 def data_to_cloudnet_arrays(self):
     for key, array in self.data.items():
         self.data[key] = CloudnetArray(array, key)
示例#15
0
 def test_mask_indices(self):
     obj = CloudnetArray(self.time, "test_name")
     obj.mask_indices([0, 1])
     result = ma.array([0, 1, 2, 3, 4], mask=[1, 1, 0, 0, 0])
     assert_array_equal(obj.data.data, result.data)
     assert_array_equal(obj.data.mask, result.mask)
示例#16
0
 def test_db2lin(self):
     name, units = "test_name", "dB"
     obj = CloudnetArray(self.time, name, units)
     obj.db2lin()
     assert obj.units == ""
     assert_array_equal(obj.data, utils.db2lin(self.time[:]))
示例#17
0
 def test_lin2db(self):
     name, units = "test_name", "m s-1"
     obj = CloudnetArray(self.time, name, units)
     obj.lin2db()
     assert obj.units == "dB"
     assert_array_equal(obj.data, utils.lin2db(self.time[:]))
示例#18
0
def test_masked_array():
    data = ma.array([1.0, 2.0, 3.0], mask=[1, 0, 0])
    obj = CloudnetArray(data, "test")
    assert_array_equal(obj.data.data, data.data)
    assert_array_equal(obj.data.mask, data.mask)
    assert obj.data_type == "f4"
示例#19
0
def test_bad_input():
    with pytest.raises(ValueError):
        CloudnetArray((1, 2, 3), "bad_input")
    with pytest.raises(ValueError):
        CloudnetArray([1, 2, 3], "bad_input")
示例#20
0
def test_different_inputs(array, expected_data, expected_dtype):
    obj = CloudnetArray(array, "test")
    assert obj.data_type == expected_dtype
    assert obj.data == expected_data
    assert isinstance(obj.data, np.ndarray)
示例#21
0
 def test_lin2db(self):
     name, units = 'test_name', 'm s-1'
     obj = CloudnetArray(self.time, name, units)
     obj.lin2db()
     assert obj.units == 'dB'
     assert_array_equal(obj.data, utils.lin2db(self.time[:]))
示例#22
0
 def test_db2lin(self):
     name, units = 'test_name', 'dB'
     obj = CloudnetArray(self.time, name, units)
     obj.db2lin()
     assert obj.units == ''
     assert_array_equal(obj.data, utils.db2lin(self.time[:]))