为整个流域多边形提取网格化 (netcdf) 气候数据

问题描述

我的目标是从 Daymet 数据库 (https://daymet.ornl.gov/) 中提取 68 个流域多边形中的每一个的降水数据。我能够使用 ncdf4 包下载数据:

download_daymet_ncss(location = c(53.5,-116.6,48,-98),start = 1992,end = 2000,param = "prcp",path = "./Daymet gridded data/Precip_raw")#download the data

我意识到这是一个相当大的领域,可能是问题的一部分。

下载数据后,挑战就开始了。 我尝试了两种方法,第一种将数据聚合为年度值(使用 daymetr 包中的 daymet_grid_agg)。但是从生成的栅格中提取正确的区域很有挑战性(我没能成功)。 然后我尝试使用 RavenR 包从 netcdf (rvn_netcdf_to_gridshp) 生成网格覆盖。

fn<-"prcp_daily_1992_ncss.nc"
ncfile<-nc_open(fn)
outshp<-rvn_netcdf_to_gridshp(ncfile,projID = 4326)

这完全失败了 - RStudio 冻结,无法分配 2.7 GB,或者 shapefile 为空。我曾尝试增加内存大小,但 R 一直在运行,似乎什么也没发生。

接下来,我尝试了这个简单的方法(按照 https://www.researchgate.net/post/How-to-get-data-only-within-shapefile-boundary-from-a-netcdf-data-file-in-R-software):

shp<-st_read(file.choose())

data<-brick(file.choose()) 

crs(data) <- "+proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45" 

output<-raster::mask(data,shp) 

输出的砖块光栅充满了 NAs...

我已将下载的 netcdf 缩小了很多,但这些方法似乎都不起作用...是的,我的数据是网格化的(与本例不同:How to extract NetCDF data frame by region using a polygon shapefile

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...