xarray.open_mfdataset用于一小部分变量

时间:2019-06-14 00:35:55

标签: python-xarray

我正在尝试读取单个WRF输出变量的时间序列。时间序列是分布式的,每个文件一个时间戳,分布在5000多个netCDF文件中。每个文件包含大约200个变量。

是否有一种方法仅对我感兴趣的变量调用xarray.open_mfdataset()?我可以通过为“ data_vars”参数提供一个列表来指定单个变量,但是对于“最小”情况,它仍然会读取所有内容。对于我的文件,“最小”情况几乎涵盖了所有内容,因此相对较慢。

我最好的选择是创建一个包含ncrcat之类的包含感兴趣变量的单个netCDF文件,还是有一种更简化的方式完全在xarray(或其他python工具)中做到这一点? >

我的netCDF文件是netCDF4(不是netCDF4-classic),似乎排除了netCDF4.MFDataset()

1 个答案:

答案 0 :(得分:0)

我不确定为什么提供data_vars=参数仍会读取所有数据-读取WRF输出时遇到相同的问题。我的解决方法是列出所有不需要的变量(全部200个以上)并将其提供给drop_variables=参数。您可以获得所有变量的列表,然后删除或注释掉要保留的变量。

varlist = list(ds.variables)