def test_array_info(self):
variables, coords = self._from_dataset_test_variables
variables['v4'] = variables['v3'].copy()
ds = xr.Dataset(variables, coords)
fname = osp.relpath(bt.get_file('test-t2m-u-v.nc'), '.')
ds2 = xr.open_dataset(fname)
l = ds.psy.create_list(
name=[['v1', ['v3', 'v4']], ['v1', 'v2']], prefer_list=True)
l.extend(ds2.psy.create_list(name=['t2m'], x=0, t=1),
new_name=True)
self.assertEqual(l.array_info(engine='netCDF4'), OrderedDict([
# first list contating an array with two variables
('arr0', OrderedDict([
('arr0', {'dims': {'t': slice(None), 'x': slice(None)},
'attrs': OrderedDict(), 'store': (None, None),
'name': 'v1', 'fname': None}),
('arr1', {'dims': {'y': slice(None)},
'attrs': OrderedDict(), 'store': (None, None),
'name': [['v3', 'v4']], 'fname': None}),
('attrs', OrderedDict())])),
# second list with two arrays containing each one variable
('arr1', OrderedDict([
('arr0', {'dims': {'t': slice(None), 'x': slice(None)},
'attrs': OrderedDict(), 'store': (None, None),
'name': 'v1', 'fname': None}),
('arr1', {'dims': {'y': slice(None), 'x': slice(None)},
'attrs': OrderedDict(), 'store': (None, None),
'name': 'v2', 'fname': None}),
('attrs', OrderedDict())])),
# last array from real dataset
('arr2', {'dims': {'z': slice(None), 'y': slice(None),
't': 1, 'x': 0},
'attrs': ds2.t2m.attrs,
'store': ('xarray.backends.netCDF4_',
'NetCDF4DataStore'),
'name': 't2m', 'fname': fname}),
('attrs', OrderedDict())]))
return l
评论列表
文章目录