IbkTemperature {lmSubsets} | R Documentation |
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)
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
Source
Observations: https://www.ogimet.com/synops.phtml.en. Reforecasts: https://psl.noaa.gov/forecasts/reforecast2/.
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. doi: 10.1175/BAMS-D-12-00014.1.
Examples
## 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 = "")