You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R下载NetCDF文件:手动正常但代码下载文件过小无法使用

问题原因与解决方法

你的R代码存在关键错误:你正在下载FTP目录的网页内容,而非目标NetCDF文件,这就是为什么下载的文件仅119KB(实际是目录的HTML页面),而手动下载的是正常的5000KB数据文件。

修正后的代码

需要将root目录地址与生成的filename拼接为完整的文件URL,再执行下载:

now <- as.Date(Sys.Date())
now <- paste0(substr(now,1,4), substr(now,6,7))
filename <- paste0('prate.', now, '.prob.adj.seas.nc')
root <- 'https://ftp.cpc.ncep.noaa.gov/NMME/prob/netcdf/'
full_url <- paste0(root, filename)  # 拼接完整文件路径
download.file(full_url, filename, mode = "wb")

额外建议

  • 验证文件可用性:有时候当月的文件可能还未更新到服务器,可手动访问生成的full_url,确认文件存在后再执行下载。
  • 添加错误处理:用httr包提前检查文件状态,避免下载无效内容:
    library(httr)
    response <- HEAD(full_url)
    if (status_code(response) == 200) {
      download.file(full_url, filename, mode = "wb")
    } else {
      stop("目标文件不存在或无法访问")
    }
    
  • 确认命名规则:确保生成的文件名完全匹配服务器上的文件格式(你的代码已通过substr获取两位月份,这部分无需调整)。

内容的提问来源于stack exchange,提问作者gianca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:52:05