如何使用 R 中的双线性插值降低 netCDF 的分辨率(Regrid)?

Pan*_*kaj 5 r geospatial netcdf cdo-climate

我从这里下载了 netCDF 文件。它们的分辨率为 0.5*0.5。我想以更粗的 1*1 分辨率重新网格这些文件。我找到了一些链接。第一个链接讨论 R 中的重新网格,但不使用双线性插值。在第二个环节涉及双线性插值,但使用的气候数据运算符(到我不是很熟悉)。然后我遇到了一个 R 包HiClimR。在这个包中,一个命令 coarseR降低了数据的分辨率。我将 netCDF 文件转换为 excel 文件并使用coarseR. 但是得到结果后我发现这个命令实际上以某种方式跳过了经纬度并将分辨率降低到1 * 1。简而言之,我的问题是

(1)coarseR用于降低分辨率是否正确?(2) 如何将双线性变换用于我在 R 中的特定问题?

提前谢谢了。

Adr*_*ins 5

这个解决方案不在 R 中,只是为了指出 CDO 内置了一些非常好的重新网格化功能。例如,按照您的要求使用双线性插值重新网格化为 1x1 规则网格,您可以简单地执行以下操作:

cdo remapbil,r720x360 in.nc out.nc
Run Code Online (Sandbox Code Playgroud)

但是,如果您要转换为较粗的网格,则建议使用保守的重新映射技术,否则您可能会在重新映射期间遗漏点。这对于高度不均匀的领域(例如降水)尤其重要。在这种情况下,CDO 提供一阶和二阶保守重映射技术。使用一阶技术

cdo remapcon,r720x360 in.nc out.nc
Run Code Online (Sandbox Code Playgroud)

(请注意,有时您可能会发现 CDO 由于转换过程中的精度损失而导致抖动,在这种情况下,它会建议您使用选项“-b32”或“-b64”。除非被迫,否则您不想这样做以增加文件大小。)

要考虑的常见重新网格选项有:

  • remapbil:双线性插值
  • remapnn:最近邻插值(即从最近的单元格取值)
  • remapcon:一阶保守重映射
  • remapcon2:二阶保守重映射