首页 > 解决方案 > Python:如何在 netCDF4 中使用 MFdataset

问题描述

我正在尝试读取多个 NetCDF 文件并且我的代码返回错误:

ValueError:MFNetCDF4 仅适用于 NETCDF3_* 和 NETCDF4_CLASSIC 格式的文件,不适用于 NETCDF4。

我查阅了文档,发现 NetCDF4 不支持 MFdataset,所以我很困惑从这里去哪里。

标签: pythonnetcdfnetcdf4

解决方案


我认为错误很明显,但有一些方法可以避免它。

1/ 您可以使用例如nccopy将 NetCDF 文件从 NetCDF4 转换为经典格式:

nccopy -k classic nc4_file.nc ncclassic_file.nc

2/ xarray有一个类似的方法(称为open_mfdataset),它能够处理 NetCDF4 文件。快速测试:

import netCDF4 as nc4
test = nc4.MFDataset(['test0.nc','test1.nc'])

这给了我与您得到的相同的错误(“MFNetCDF4 only works with ...”),与 xarray 相同,没有任何问题:

import xarray as xr
test = xr.open_mfdataset(['test0.nc', 'test1.nc'])

推荐阅读