何千ものGRIBファイルがあるディレクトリがあるとします。これらのファイルをdask配列にロードして、それらを照会できるようにします。これをやり遂げるにはどうすればいいですか?以下の試みはうまくいくようですが、各GRIBファイルを開く必要があり、実行には時間がかかり、すべてのメモリが必要になります。より良い方法が必要です。GRIBファイルのディレクトリをDask配列にロードする方法
私の試み:
import dask.array as da
from dask import delayed
import gdal
import glob
import os
def load(filedir):
files = sorted(glob.glob(os.path.join(filedir, '*.grb')))
data = [da.from_array(gdal.Open(f).ReadAsArray(), chunks=[500,500,500], name=f) for f in files]
return da.stack(data, axis=0)
file_dir = ...
array = load(file_dir)
daskで構築され、PyNIO経由でGRIBをサポートしているxarrayを試しましたか?しかし、データをすばやく分析したい場合は、hdf5またはNetCDF4に書き直して、適切なチャンクを使用して解析することは非常に簡単になります。 – kakk11