假设我们有10个these files。此netcdf数据集具有一个名为tmp的变量,它是一个3维数组:[lon][lat][time]
。现在,我如何将这10个文件组合在一起,以得到一个带有变量tmp的文件,其值是组合值的平均值。
我以为我可以做那个ncra(http://nco.sourceforge.net/nco.html#xmp_ncra),但没有成功。
您可以使用ncdf
包将10个文件读入R,使用nlon x nlat x time x nfiles
包中的abind
将它们组合成一个大的abind
数组,然后使用apply
求平均值[C0 ] 尺寸。所有这些都假设您有足够的RAM将这10个数据集加载到内存中,即它们不能太大。
或者,我来看看file
,它是用于操作NetCDF文件的命令行工具。也许还有一种方法可以从该工具获得所需的东西。这可能是对内存更友好的选项。
CDO解决方案是使用命令ensmean,“ ens”是指跨多个文件的集成操作。因此,用于平均3个输入文件的基本命令为:
CDO
显然,输入一长串文件名很无聊,因此最好使用通配符。因此,如果您具有文件名,例如file01.nc,file02.nc等,则可以使用
cdo ensmean file1.nc file2.nc file3.nc ensemble_mean.nc
注意,由于这些命令不知道会有多少个输入文件,因此您无法使用管道过程将此命令与其他CDO操作员结合使用。