如何下载网格化 sst 数据?
How do I download gridded sst data?
我最近被介绍给 R
并试用了 heatwaveR
软件包。加载 erddap
数据时出现错误...这是我目前使用的代码:
library(rerddap)
library(ncdf4)
info(datasetid = "ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
我收到以下错误:
Error in curl::curl_fetch_memory(x$url$url, handle = x$url$handle) :
schannel: next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN (0x80090308) - The token supplied to the function is invalid
在这方面需要一些帮助。我也是这个网站的新手所以如果上述问题不符合标准(代码在灰色框中输入等),我深表歉意
有人通过 GitHub 上的 heatwaveR 问题页面将此 post 引起了我的注意。这是我为他们提供的答案:
我不管理 rerddap 包,所以不能确切地说出为什么它可能会给你这个错误。但我可以说我最近注意到 OISST 数据在有问题的 ERDDAP 服务器上通常不可用。我(尝试)每天下载新数据,但经常被拒绝,并出现类似于您 posted 的错误。它已经到了我不得不在我的下载脚本中插入一些逻辑门的地步,所以它告诉我在尝试下载数据之前当前没有托管数据。我还应该指出,可以从该服务器下载 "final" 数据,从今天开始大约有两周的延迟,以及 "preliminary (prelim)" 数据,这些数据几乎是实时的但尚未完成所有 QC 步骤。这两个产品在以下代码中占:
# First download the list of data products on the server
server_data <- rerddap::ed_datasets(which = "griddap", "https://www.ncei.noaa.gov/erddap/")$Dataset.ID
# Check if the "final" data are currently hosted
if(!"ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon" %in% server_data)
stop("Final data are not currently up on the ERDDAP server")
# Check if the "prelim" data are currently hosted
if(!"ncdc_oisst_v2_avhrr_prelim_by_time_zlev_lat_lon" %in% server_data)
stop("Prelim data are not currently up on the ERDDAP server")
如果数据可用,我会用这两行检查 times/dates 是否可用:
# Download final OISST meta-data
final_info <- rerddap::info(datasetid = "ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
# Download prelim OISST meta-data
prelim_info <- rerddap::info(datasetid = "ncdc_oisst_v2_avhrr_prelim_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
我现在运行这个,看起来数据是当前可用的。你的错误是从今天开始的,还是从一两天前开始的?可用性似乎在一周内循环,但我还没有完全理解任何模式。同样重要的是要注意,大约在数据变暗的前一天,它们充满了各种巨大的错误。因此,我还必须在我的代码中添加错误捕获,一旦它检测到温度超过某个数量级,就会停止数据聚合过程。在这种情况下,它类似于 1^90,但数字不一致意味着它不是缺失值占位符。
要手动查看数据是否正在托管,您可以转到此 link 并滚动到底部:
https://www.ncei.noaa.gov/erddap/griddap/index.html
祝一切顺利,
-罗伯特
我最近被介绍给 R
并试用了 heatwaveR
软件包。加载 erddap
数据时出现错误...这是我目前使用的代码:
library(rerddap)
library(ncdf4)
info(datasetid = "ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
我收到以下错误:
Error in curl::curl_fetch_memory(x$url$url, handle = x$url$handle) : schannel: next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN (0x80090308) - The token supplied to the function is invalid
在这方面需要一些帮助。我也是这个网站的新手所以如果上述问题不符合标准(代码在灰色框中输入等),我深表歉意
有人通过 GitHub 上的 heatwaveR 问题页面将此 post 引起了我的注意。这是我为他们提供的答案:
我不管理 rerddap 包,所以不能确切地说出为什么它可能会给你这个错误。但我可以说我最近注意到 OISST 数据在有问题的 ERDDAP 服务器上通常不可用。我(尝试)每天下载新数据,但经常被拒绝,并出现类似于您 posted 的错误。它已经到了我不得不在我的下载脚本中插入一些逻辑门的地步,所以它告诉我在尝试下载数据之前当前没有托管数据。我还应该指出,可以从该服务器下载 "final" 数据,从今天开始大约有两周的延迟,以及 "preliminary (prelim)" 数据,这些数据几乎是实时的但尚未完成所有 QC 步骤。这两个产品在以下代码中占:
# First download the list of data products on the server
server_data <- rerddap::ed_datasets(which = "griddap", "https://www.ncei.noaa.gov/erddap/")$Dataset.ID
# Check if the "final" data are currently hosted
if(!"ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon" %in% server_data)
stop("Final data are not currently up on the ERDDAP server")
# Check if the "prelim" data are currently hosted
if(!"ncdc_oisst_v2_avhrr_prelim_by_time_zlev_lat_lon" %in% server_data)
stop("Prelim data are not currently up on the ERDDAP server")
如果数据可用,我会用这两行检查 times/dates 是否可用:
# Download final OISST meta-data
final_info <- rerddap::info(datasetid = "ncdc_oisst_v2_avhrr_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
# Download prelim OISST meta-data
prelim_info <- rerddap::info(datasetid = "ncdc_oisst_v2_avhrr_prelim_by_time_zlev_lat_lon", url = "https://www.ncei.noaa.gov/erddap/")
我现在运行这个,看起来数据是当前可用的。你的错误是从今天开始的,还是从一两天前开始的?可用性似乎在一周内循环,但我还没有完全理解任何模式。同样重要的是要注意,大约在数据变暗的前一天,它们充满了各种巨大的错误。因此,我还必须在我的代码中添加错误捕获,一旦它检测到温度超过某个数量级,就会停止数据聚合过程。在这种情况下,它类似于 1^90,但数字不一致意味着它不是缺失值占位符。
要手动查看数据是否正在托管,您可以转到此 link 并滚动到底部: https://www.ncei.noaa.gov/erddap/griddap/index.html
祝一切顺利,
-罗伯特