Как мне загрузить данные sst в сетке? - PullRequest
0 голосов
/ 02 марта 2019

Недавно я познакомился с 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/")

И я получаю следующую ошибку:

Ошибка в curl:: curl_fetch_memory (x $ url $ url, handle = x $ url $ handle): schannel: next InitializeSecurityContext завершилась неудачно: SEC_E_INVALID_TOKEN (0x80090308) - токен, предоставленный функции, недействителен

хотел бы получить некоторыепомочь в этом.Я тоже новичок в этом веб-сайте, поэтому я прошу прощения, если вышеуказанный вопрос не соответствует стандартам (коды должны быть напечатаны в сером поле и т. Д.)

1 Ответ

0 голосов
/ 20 марта 2019

Кто-то направил этот пост на мое внимание со страницы вопросов HeatwaveR на GitHub.Вот ответ, который я дал для них:

Я не управляю пакетом rerddap, поэтому не могу точно сказать, почему он может выдавать эту ошибку.Но я могу сказать, что недавно заметил, что данные OISST часто недоступны на рассматриваемом сервере ERDDAP.Я (пытаюсь) загружать свежие данные каждый день, и мне часто отказывают в ошибке, аналогичной той, которую вы опубликовали.Дошло до того, что мне пришлось вставить некоторые логические элементы в мой скрипт загрузки, чтобы сообщить мне, что данные в данный момент не размещаются до того, как они попытаются их загрузить.Я также должен отметить, что можно загрузить «окончательные» данные с этого сервера, которые имеют примерно двухнедельную задержку с сегодняшнего дня, а также «предварительные (предварительные)» данные, которые почти в реальном времени, но убежищееще не прошел все этапы контроля качества.Эти два продукта учитываются в следующем коде:

# 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")

Если данные доступны, я проверяю время / даты, доступные с этими двумя строками:

# 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, но число не соответствует, то есть это не заполнитель пропущенных значений.

Чтобы вручную убедиться, что данные хранятся, вы можете перейти по этой ссылке ипрокрутите вниз: https://www.ncei.noaa.gov/erddap/griddap/index.html

Всего наилучшего,
-Роберт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...