2

rnoaa()パッケージを使用して過去の気象データを取得していますが、利用可能であるが返されないというデータを取得する際に問題が発生しています。

この再現可能な例を機能させるには、まずhttp://www.ncdc.noaa.gov/cdo-web/tokenからのトークンが必要です。

設定:

options(noaakey = "KEY_EMAILED_TO_YOU")
library(rnoaa)

利用可能なデータの種類を確認します。

ncdc_datatypes(stationid = "GHCND:US009052008", datasetid='GHCND')

出力:

$meta
  offset count limit
1      1     4    25

$data
Source: local data frame [4 x 5]

     mindate    maxdate                                      name datacoverage    id
       (chr)      (chr)                                     (chr)        (int) (chr)
1 1781-01-01 2015-10-30              Precipitation (tenths of mm)            1  PRCP
2 1857-01-18 2015-10-29                           Snow depth (mm)            1  SNWD
3 1763-01-01 2015-10-30 Maximum temperature (tenths of degrees C)            1  TMAX
4 1763-01-01 2015-10-30 Minimum temperature (tenths of degrees C)            1  TMIN

attr(,"class")
[1] "ncdc_datatypes"
ncdc(stationid = "GHCND:US009052008", datasetid='GHCND', datatypeid = 'PRCP', startdate = "1900-01-01", enddate = "1900-12-30")

利用可能な最小データPRCPは 1781 であることに注意してください。利用できるはずの 1900 年のデータだけを取得してみます。

1900 年のデータを試してみてください:

ncdc(stationid = "GHCND:US009052008", datasetid='GHCND', datatypeid = 'PRCP', startdate = "1900-01-01", enddate = "1900-12-30")

出力:

$meta
$meta$totalCount
NULL

$meta$pageCount
NULL

$meta$offset
NULL


$data
Source: local data frame [0 x 0]


attr(,"class")
[1] "ncdc_data"
Warning message:
In check_response(temp) : Sorry, no data found
4

1 に答える 1

1

一方通行:

sta <- "US009052008"
input <- paste0("ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/all/",sta,".dly")

output <- read.fwf(input, n = -1,
                   widths = c(11,4,2,4), 
                   col.names = c("ID", "YEAR", "MONTH", "ELEMENT"))

out <- split(output, output$ELEMENT)

foo <- function(x){
  y1 <- head(x[,c("YEAR", "MONTH")], 1)
  y2 <- tail(x[,c("YEAR", "MONTH")], 1)

  paste(month.abb[y1$MONTH], y1$YEAR, "-", month.abb[y2$MONTH], y2$YEAR)
}
do.call(rbind, lapply(out, foo))
#       [,1]                 
# PRCP "Oct 2008 - Oct 2015"
# SNWD "Dec 2009 - Oct 2015"
# TMAX "Oct 2008 - Oct 2015"
# TMIN "Oct 2008 - Oct 2015"
于 2015-11-04T03:49:26.600 に答える