library(dplyr)
library(fmi2)
library(ggplot2)
library(lubridate)

tulliniemi_data <- fmi2::obs_weather_hourly(starttime = "2019-02-01",
                                            endtime = "2019-02-02",
                                            fmisid = 100946)

# Get only wind speed (MIN, AVG and MAX)
wind_data <- tulliniemi_data %>% 
  # Get wind speed variables
  dplyr::filter(grepl("^WS_PT1H", variable)) %>%
  # Make them ordered factors
  dplyr::mutate(variable = factor(variable, 
                                  levels = c("WS_PT1H_MAX", "WS_PT1H_AVG",
                                             "WS_PT1H_MIN"),
                                  ordered = TRUE)) %>% 
  # Add hour information per group (i.e. factor)
  dplyr::group_by(variable) %>% 
  dplyr::mutate(time = as.POSIXct(lubridate::ymd(time) + lubridate::hours(1:24))) %>% 
  dplyr::ungroup()


wind_data %>% 
  ggplot(aes(x = time, y = value, color = variable)) +
  scale_x_datetime(date_minor_breaks = "1 hour") +
  geom_line() + theme_minimal()