i具有多模型的多运算集合数据,即每个模型也具有单个模型的模型集合。我希望能够通过模型(即获得属于特定模型的所有集合成员(和成员(即,无论哪种模型,都可以在特定/所有运行中获得平均值(。因此,model
应该是模型名称,而member
仅是任意号码或ID。
我的草稿看起来像:
ds = xr.Dataset(
{'some_var': (['time', 'model'], some_data)},
coords={'time': pd.date_range(from_date, to_date),
'model': (['model', ], some_data.shape[1] * [model_name])})
但是,我没有设法做一个member
变量/坐标,以便我可以同时做:
ds.sel(dict(model='model_a', member=0)) # select member 0 from model a
和
ds.sel(time=0).some_var.mean() # calulate mean of whole ensemble at time 0
我试图制作一个取决于model
坐标的member
变量,但是我无法选择它。
i避免将组用于各个模型,因为随后在整个整体上进行统计数据变得很困难。这将如何在文件中组织?
好吧,我认为这比我想象的要容易。应该是:
ds = xr.Dataset({'some_var': (['time', 'member', 'model'], some_3D_var)},
coords={'member': (['member', ], np.arange(some_3D_var.shape[1])),
'model': (['model', ], ['model_name']),
'time': (['time', ], pd.date_range(from_date, to_date)),
})
这样,应该可以将两个选择应用于数据集。