Read an ocean index file, in the format used by NOAA.
read.index(
file,
format,
missingValue,
tz = getOption("oceTz"),
encoding = "latin1",
debug = getOption("oceDebug")
)
A data frame containing t
, a POSIX time, and index
,
the numerical index. The times are set to the 15th day of each month, which
is a guess that may need to be changed if so indicated by documentation (yet
to be located).
a connection or a character string giving the name of the file to load. May be a URL.
optional character string indicating the format type. If not
supplied, a guess will be made, based on examination of the first few lines
of the file. If supplied, the possibilities are "noaa"
and
"ucar"
. See “Details”.
If supplied, this is a numerical value that indicates
invalid data. In some datasets, this is -99.9, but other values may be used.
If missingValue
is not supplied, any data that have value equal
to or less than -99 are considered invalid. Set missingValue
to TRUE
to turn of the processing of missing values.
character string indicating time zone to be assumed in the data.
a character value that indicates the encoding to be used for
this data file, if it is textual. The default value for most functions is
"latin1"
, which seems to be suitable for files containing text written in
English and French.
a flag that turns on debugging, ignored in the present version of the function.
library(oce)
par(mfrow=c(2, 1))
# 1. AO, Arctic oscillation
# Note that data used to be at https://www.esrl.noaa.gov/psd/data/correlation/ao.data
ao <- read.index("https://psl.noaa.gov/data/correlation/ao.data")
aorecent <- subset(ao, t > as.POSIXct("2000-01-01"))
oce.plot.ts(aorecent$t, aorecent$index)
# 2. SOI, probably more up-to-date then data(soi, package="ocedata")
soi <- read.index("https://www.cgd.ucar.edu/cas/catalog/climind/SOI.signal.ascii")
soirecent <- subset(soi, t > as.POSIXct("2000-01-01"))
oce.plot.ts(soirecent$t, soirecent$index)
Dan Kelley
Reads a text-format index file, in either of two formats. If
format
is missing, then the first line of the file is examined. If
that line contains 2 (whitespace-separated) tokens, then "noaa"
format is assumed. If it contains 13 tokens, then "ucar"
format is assumed.
Otherwise, an error is reported.
In the "noaa"
format, the two tokens on the first line are taken to
be the start year and the end year, respectively. The second line
must contain a single token, the missing value. All further lines must contain
12 tokens, for the values in January, February, etc.
In the "ucar"
format, all data lines must contain the 13 tokens,
the first of which is the year, with the following 12 being the values
for January, February, etc.
See https://psl.noaa.gov/data/climateindices/list/
for a list of indices.