并行填充数据集

时间:2019-03-22 12:37:18

标签: python-3.x python-xarray

是否可以对xarray执行以下操作:

主流程创建维度为a = [a1, a2,...], b=[b1,b2, ...], c = [c1,c2,...]的数据集

然后,对于每个坐标(键)(a_i, b_j, c_k,...),它启动一个计算f(a_i, b_j, c_k, ...)的子进程(可能是在完全不同的计算机上的作业请求)

函数f返回一个固定形状的DataArray,即坐标为x = [x1,x2,...], y=[y1, y2, ..], z = [z1, z2, ...]

请注意,此形状是先验未知的!!只能保证在所有任务中保持不变!

每个子进程都应使用相应的键dataset.nc将其输出保存(追加)到(a_i, b_j, c_k)文件中(并行io)

所有子流程完成后,即整个数据集填充完毕后,主流程将其重塑为单个DataArray形式,该形式结合了两个维度(因此与轴a,b,c,...相同, x,y,z,...

注意:这实质上是尝试实现具有并行化的抽象自动网格搜索。

0 个答案:

没有答案