我正在尝试读取单个WRF输出变量的时间序列。时间序列是分布式的,每个文件一个时间戳,分布在5000多个netCDF文件中。每个文件包含大约200个变量。
是否有一种方法仅对我感兴趣的变量调用xarray.open_mfdataset()?我可以通过为“ data_vars”参数提供一个列表来指定单个变量,但是对于“最小”情况,它仍然会读取所有内容。对于我的文件,“最小”情况几乎涵盖了所有内容,因此相对较慢。
我最好的选择是创建一个包含ncrcat之类的包含感兴趣变量的单个netCDF文件,还是有一种更简化的方式完全在xarray(或其他python工具)中做到这一点? >
我的netCDF文件是netCDF4(不是netCDF4-classic),似乎排除了netCDF4.MFDataset()。
答案 0 :(得分:0)
我不确定为什么提供data_vars=
参数仍会读取所有数据-读取WRF输出时遇到相同的问题。我的解决方法是列出所有不需要的变量(全部200个以上)并将其提供给drop_variables=
参数。您可以获得所有变量的列表,然后删除或注释掉要保留的变量。
varlist = list(ds.variables)