尝试请求 ERA5 数据。请求受大小限制,系统将自动拒绝任何大于限制的请求。但是,人们希望尽可能接近请求限制,因为气候数据存储 (CDS) 处理每个请求需要几个小时。
例如,我有一个向量years <- seq(from = 1981, to = 2019, by = 1)
和一个向量variables <- c("a", "b", "c", "d", "e"...., "z")
。最大请求大小为 11。这意味着长度(年)*长度(变量)必须小于或等于 11。
对于每个请求,我必须提供一个包含年份和变量的字符向量的列表。例如:
req.list <- list(year = c("1981", "1982", ..."1991"), variable = c("a"))
这将起作用,因为有 11 年和 1 个变量。
我考虑过使用 expand.grid() 然后使用第 1-11 行、第 12-22 行 ...和 unique() 值每列来获取请求的年份和变量。但是这种方法有时会导致请求大小太大:
req.list <- list(year = c("2013", "2014", ..."2018"), variable = c("a", "b"))
因为长度(年)*长度(变量)= 12> 11而被拒绝。
我也使用 foreach() 和 doParallel 创建多个请求(一次最多 15 个请求)
如果有人有更好的解决方案,请分享(在遵守请求大小限制的同时尽量减少独特组合的数量),非常感谢。