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
Exemple #2
0
 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
Exemple #3
0
 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])
Exemple #5
0
 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])
Exemple #6
0
 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])
Exemple #10
0
 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
Exemple #11
0
 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
Exemple #12
0
 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