def test_add_to_ds(self): ds = xr.Dataset(coords={'a': [1, 2], 'b': [10, 20]}) ds['x'] = (('a', 'b'), [[11, 21], [12, 0]]) assert ds['x'].sel(a=2, b=20).data == 0 _cases_to_ds(results=[22], fn_args=['a', 'b'], cases=[[2, 20]], var_names=['x'], add_to_ds=ds, overwrite=True) assert ds['x'].data.dtype == int assert ds['x'].sel(a=2, b=20).data == 22
def test_add_to_ds_array(self): ds = xr.Dataset(coords={'a': [1, 2], 'b': [10, 20], 't': [0.1, 0.2, 0.3]}) ds['x'] = (('a', 'b', 't'), [[[11.1, 11.2, 11.3], [21.1, 21.2, 21.3]], [[12.1, 12.2, 12.3], [0, 0, 0]]]) assert_allclose(ds['x'].sel(a=2, b=20).data, [0, 0, 0]) _cases_to_ds(results=[[[22.1, 22.2, 22.3]]], fn_args=['a', 'b'], cases=[[2, 20]], var_names=['x'], var_dims=['t'], add_to_ds=ds, overwrite=True) assert_allclose(ds['x'].sel(a=2, b=20).data, [22.1, 22.2, 22.3])
def test_add_to_ds_array(self): ds = xr.Dataset(coords={ 'a': [1, 2], 'b': [10, 20], 't': [0.1, 0.2, 0.3] }) ds['x'] = (('a', 'b', 't'), [[[11.1, 11.2, 11.3], [21.1, 21.2, 21.3]], [[12.1, 12.2, 12.3], [0, 0, 0]]]) assert_allclose(ds['x'].sel(a=2, b=20).data, [0, 0, 0]) _cases_to_ds(results=[[[22.1, 22.2, 22.3]]], fn_args=['a', 'b'], cases=[[2, 20]], var_names=['x'], var_dims=['t'], add_to_ds=ds, overwrite=True) assert_allclose(ds['x'].sel(a=2, b=20).data, [22.1, 22.2, 22.3])
def test_single_cases_format(self): results = [(1,), (2,), (3,), (4,), (5,)] cases = [('a',), ('b',), ('c',), ('d',), ('e',)] ds = _cases_to_ds(results=results, cases=cases, fn_args=('case1',), var_names=('bananas',), var_dims={'bananas': ()}, var_coords={},) assert_allclose(ds.bananas.data, [1, 2, 3, 4, 5])
def test_single_result_format(self): results = [(1,), (2,), (3,), (4,), (5,)] cases = [('a', 'a'), ('a', 'b'), ('b', 'c'), ('c', 'c'), ('b', 'a')] ds = _cases_to_ds(results=results, cases=cases, fn_args=('case1', 'case2'), var_names=('bananas',), var_dims={'bananas': ()}, var_coords={}) assert_allclose(ds.bananas.data, [[1, 2, np.nan], [5, np.nan, 3], [np.nan, np.nan, 4]])
def test_single_result_format(self): results = [(1, ), (2, ), (3, ), (4, ), (5, )] cases = [('a', 'a'), ('a', 'b'), ('b', 'c'), ('c', 'c'), ('b', 'a')] ds = _cases_to_ds(results=results, cases=cases, fn_args=('case1', 'case2'), var_names=('bananas', ), var_dims={'bananas': ()}, var_coords={}) assert_allclose(ds.bananas.data, [[1, 2, np.nan], [5, np.nan, 3], [np.nan, np.nan, 4]])
def test_add_to_ds_no_overwrite(self): ds = xr.Dataset(coords={'a': [1, 2], 'b': [10, 20]}) ds['x'] = (('a', 'b'), [[11, 21], [12, 0]]) assert ds['x'].sel(a=2, b=20).data == 0 with pytest.raises(ValueError): _cases_to_ds(results=[22], fn_args=['a', 'b'], cases=[[2, 20]], var_names=['x'], add_to_ds=ds, overwrite=False) ds = xr.Dataset(coords={'a': [1, 2], 'b': [10, 20]}) ds['x'] = (('a', 'b'), [[11, 21], [12, None]]) _cases_to_ds(results=[22], fn_args=['a', 'b'], cases=[[2, 20]], var_names=['x'], add_to_ds=ds, overwrite=False) assert ds['x'].sel(a=2, b=20).data == 22
def test_single_cases_format(self): results = [(1, ), (2, ), (3, ), (4, ), (5, )] cases = [('a', ), ('b', ), ('c', ), ('d', ), ('e', )] ds = _cases_to_ds( results=results, cases=cases, fn_args=('case1', ), var_names=('bananas', ), var_dims={'bananas': ()}, var_coords={}, ) assert_allclose(ds.bananas.data, [1, 2, 3, 4, 5])
def test_multires(self): var_names = ('lists',) var_vals = [np.arange(10) + i for i in range(5)] var_dims = {'lists': ('time',)} var_coords = {'time': np.arange(10) / 10} fn_args = ('letter',) case_cnfgs = ['a', 'b', 'c', 'd', 'e'] ds = _cases_to_ds(results=var_vals, fn_args=fn_args, cases=case_cnfgs, var_names=var_names, var_dims=var_dims, var_coords=var_coords) assert ds.time.data.dtype == float
def test_multires(self): var_names = ('lists', ) var_vals = [np.arange(10) + i for i in range(5)] var_dims = {'lists': ('time', )} var_coords = {'time': np.arange(10) / 10} fn_args = ('letter', ) case_cnfgs = ['a', 'b', 'c', 'd', 'e'] ds = _cases_to_ds(results=var_vals, fn_args=fn_args, cases=case_cnfgs, var_names=var_names, var_dims=var_dims, var_coords=var_coords) assert ds.time.data.dtype == float