lmSubsets (version 0.5-1)

IbkTemperature: Temperature Observations and Numerical Weather Predictions for Innsbruck

Description

00UTC temperature observations and corresponding 24-hour reforecast ensemble means from the Global Ensemble Forecast System (GEFS, Hamill et al. 2013) for SYNOP station Innsbruck Airport (11120; 47.260, 11.357) from 2011-01-01 to 2015-12-31.

Usage

data("IbkTemperature")

Arguments

Format

A data frame containing 1824 daily observations/forecasts for 42 variables. The first column (temp) contains temperature observations at 00UTC (coordinated universal time), columns 2--37 are 24-hour lead time GEFS reforecast ensemble means for different variables (see below). Columns 38--42 are deterministic time trend/season patterns.

temp

Observed temperature at Innsbruck Airport (deg \(C\)).

tp

Total accumulated precipitation (\(kg~m^{-2}\)).

t2m

Temperature at 2 meters (\(K\)).

u10m

U-component of wind at 10 meters (\(m~s^{-1}\)).

v10m

V-component of wind at 10 meters (\(m~s^{-1}\)).

u80m

U-component of wind at 80 meters (\(m~s^{-1}\)).

v80m

U-component of wind at 80 meters (\(m~s^{-1}\)).

cape

Convective available potential energy (\(J~kg^{-1}\)).

ci

Convective inhibition (\(J~kg^{-1}\)).

sdlwrf

Surface downward long-wave radiation flux (\(W~m^{-2}\)).

sdswrf

Surface downward short-wave radiation flux (\(W~m^{-2}\)).

sulwrf

Surface upward long-wave radiation flux (\(W~m^{-2}\)).

suswrf

Surface upward short-wave radiation flux (\(W~m^{-2}\)).

ghf

Ground heat flux (\(W~m^{-2}\)).

slhnf

Surface latent heat net flux (\(W~m^{-2}\)).

sshnf

Surface sensible heat net flux (\(W~m^{-2}\)).

mslp

Mean sea level pressure (\(Pa\)).

psfc

Surface pressure (\(Pa\)).

pw

Precipitable water (\(kg~m^{-2}\)).

vsmc

Volumetric soil moisture content (fraction).

sh2m

Specific humidity at 2 meters (\(kg~kg^{-1}\)).

tcc

Total cloud cover (percent).

tcic

Total column-integrated condensate (\(kg~m^{-2}\)).

tsfc

Skin temperature (\(K\)).

tmax2m

Maximum temperature (\(K\)).

tmin2m

Minimum temperature (\(K\)).

st

Soil temperature (0-10 cm below surface) (\(K\)).

ulwrf

Upward long-wave radiation flux (\(W~m^{-2}\)).

wr

Water runoff (\(kg~m^{-2}\)).

we

Water equivalent of accumulated snow depth (\(kg~m^{-2}\)).

wp

Wind mixing energy (\(J\)).

w850

Vertical velocity at 850 hPa surface (\(Pa~s^{-1}\)).

t2pvu

Temperature on 2 PVU surface (\(K\)).

p2pvu

Pressure on 2 PVU surface (\(Pa\)).

u2pvu

U-component of wind on 2 PVU surface (\(m~s^{-1}\)).

v2pvu

U-component of wind on 2 PVU surface (\(m~s^{-1}\)).

pv

Potential vorticity on 320 K isentrope (\(K~m^{2}~kg^{-1}~s^{-1}\)).

time

Time in years.

sin, cos

Sine and cosine component of annual harmonic pattern.

sin2, cos2

Sine and cosine component of bi-annual harmonic pattern.

References

Hamill TM, Bates GT, Whitaker JS, Murray DR, Fiorino M, Galarneau Jr. TJ, Zhu Y, Lapenta W (2013). NOAA's Second-Generation Global Medium-Range Ensemble Reforecast Data Set. Bulletin of the American Meteorological Society, 94(10), 1553--1565. 10.1175/BAMS-D-12-00014.1

Examples

Run this code
# NOT RUN {
## load data and omit missing values
data("IbkTemperature", package = "lmSubsets")
IbkTemperature <- na.omit(IbkTemperature)

## fit a simple climatological model for the temperature
## with a linear trend and annual/bi-annual harmonic seasonal pattern
CLIM <- lm(temp ~ time + sin + cos + sin2 + cos2,
  data = IbkTemperature)

## fit a simple MOS with 2-meter temperature forecast in addition
## to the climatological model
MOS0 <- lm(temp ~ t2m + time + sin + cos + sin2 + cos2,
  data = IbkTemperature)

## graphical comparison and MOS summary
plot(temp ~ time, data = IbkTemperature, type = "l", col = "darkgray")
lines(fitted(MOS0) ~ time, data = IbkTemperature, col = "darkred")
lines(fitted(CLIM) ~ time, data = IbkTemperature, lwd = 2)
MOS0

## best subset selection of remaining variables for the MOS
## (i.e., forcing the regressors of m1 into the model)
MOS1_all <- lmSubsets(temp ~ ., data = IbkTemperature,
  include = c("t2m", "time", "sin", "cos", "sin2", "cos2"))
plot(MOS1_all)
image(MOS1_all, size = 8:20)
## -> Note that soil temperature and maximum temperature are selected
## in addition to the 2-meter temperature

## best subset selection of all variables
MOS2_all <- lmSubsets(temp ~ ., data = IbkTemperature)
plot(MOS2_all)
image(MOS2_all, size = 2:20)
## -> Note that 2-meter temperature is not selected into the best
## BIC model but soil-temperature (and maximum temperature) are used instead

## refit the best BIC subset selections
MOS1 <- refit(lmSelect(MOS1_all))
MOS2 <- refit(lmSelect(MOS2_all))

## compare BIC
BIC(CLIM, MOS0, MOS1, MOS2)

## compare RMSE
sqrt(sapply(list(CLIM, MOS0, MOS1, MOS2), deviance)/
  nrow(IbkTemperature))

## compare coefficients
cf0 <- coef(CLIM)
cf1 <- coef(MOS0)
cf2 <- coef(MOS1)
cf3 <- coef(MOS2)
names(cf2) <- gsub("^x", "", names(coef(MOS1)))
names(cf3) <- gsub("^x", "", names(coef(MOS2)))
nam <- unique(c(names(cf0), names(cf1), names(cf2), names(cf3)))
cf <- matrix(NA, nrow = length(nam), ncol = 4,
  dimnames = list(nam, c("CLIM", "MOS0", "MOS1", "MOS2")))
cf[names(cf0), 1] <- cf0
cf[names(cf1), 2] <- cf1
cf[names(cf2), 3] <- cf2
cf[names(cf3), 4] <- cf3
print(round(cf, digits = 3), na.print = "")
# }

Run the code above in your browser using DataCamp Workspace