0

我从https://www.esrl.noaa.gov/psd/data/gridded/data.cmap.html下载了一个名为“precip.mon.mean.nc”的 netcdf 文件。它是月平均降水量数据集,分辨率为 2.5x2.5。

我想知道如何使用 Kriging 或反距离加权 (IDW) 等插值方法将降水数据分别重新划分为 1x1 和 3x3 分辨率。谢谢您的帮助。

require(ncdf4)

Precipitation = nc_open(filename = "precip.mon.mean.nc")
Pre=ncvar_get(Precipitation,varid = "precip")
Pre[Pre=-9.96920996838687e+36]=NA
lon=ncvar_get(Precipitation,varid = "lon")
aa=which(lon==181.25)
lon[aa:length(lon)]=lon[aa:length(lon)]-360
lat=ncvar_get(Precipitation,varid = "lat")
Date=ncvar_get(Precipitation,varid = "time")
nc_close(Precipitation)
Time=as.Date(Date/24,origin="1800-01-01")
4

1 回答 1

0

对于使用 R 的一般插值解决方案,请查看这篇文章

另外,我自己没有使用过,但是包 idpw 似乎有一个用于反距离加权的选项。此外,这个帖子这个页面可能会有所帮助。

但是,如果您是一个非常简单的单线,您可以通过简单地使用系统命令调用 CDO 来对 netcdf 文件进行反向距离加权重映射。您需要的选项是remapdis,如果文件是全局文件,您可以使用常规网格说明符简单地指定分辨率,例如使用 1x1 度网格:

cdo remapdist,r360x180 precip.mon.mean.nc regridded.nc

正如我所说,您可以使用系统函数从 R 调用它。有关重新网格化方法和潜在陷阱的更多信息,请参阅我的在线 youtube 视频指南

于 2021-11-23T07:39:11.827 回答