我有多模型多行程合奏数据,即一个模型合奏,其中每个模型也有独立的行程。我希望能够通过模型(即获取属于特定模型的所有集合成员)和成员(即,无论是哪种模型,均获得特定/所有运行的均值)来解决运行问题。因此,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
我尝试制作一个依赖于member
坐标的model
变量,但是后来我无法为其选择。
我不对单个模型使用组,因为那样很难对整个集合进行统计。 该文件的组织方式如何?
答案 0 :(得分:0)
好吧,我认为这比我想象的要容易。应该是这样的:
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)),
})
像这样,应该可以将两个选择都应用于数据集。