我正在尝试使用nco软件包使用ncrcat合并多个netcdf文件。这本身很容易做到,但我无法超越第二行:
from nco import Nco
nco=Nco()
mrms1= nc.Dataset("/Users/arian/project/data/mrms_20190501/20190501_190000.nc")
mrms2= nc.Dataset("/Users/arian/project/data/mrms_20190501/20190501_190500.nc")
nco.ncrcat(input=[mrms1, mrms2], output='testnet.nc')
nco = Nco()给出错误的地方:
TypeError: object of type 'NoneType' has no len()
通常,我知道当您尝试从零开始获取长度时会出现此错误,但是据我了解,必须创建此实例才能在脚本中使用ncrcat。
我确定anaconda上有nco和pynco的更新版本。我也尝试使用cdo包来合并文件,而不是文件,但是我得到了相同的错误。我还使用ncrcat作为终端中的命令行,但是我得到了一个“术语不被识别为cmdlet,函数,脚本文件或可操作程序”,因此这是蠕虫的另一罐。另外,netCDF4.MFDataset不起作用,因为数据没有时间维度要聚合,xarray也没有,这会导致TypeError:强制转换为Unicode:需要字符串或缓冲区,找到了Dataset。
基于许多小时的研究,我认为nco len()Typerror是最容易修复的,但是我所提的任何帮助都值得欢迎。预先感谢。
答案 0 :(得分:1)
两分
1)输入必须是文件名字符串或文件名字符串列表
例如input = [“ 20190501_190000.nc”,“ 20190501_190500.nc”]
2)我不是conda专家,但要运行pynco,nco命令必须位于您的PATH环境变量中