Mean Temperature


Mean Total Snow


Mean Total Rain


Number of days of raining/snow-fall

---
title: "Ontario Climate 2014-2016"
output: 
  flexdashboard::flex_dashboard:
    storyboard: true
    social: menu
    source: embed
---

```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(leaflet)
library(leaflet.extras)
library(leaflet.minicharts)
```


```{r data, include=FALSE, cache=TRUE}
load(file = here::here("data", "tidy_data", "wd_daily_results.Rda") )
wd_daily_results <- wd_daily_results %>% 
  mutate(max_temp_c = as.numeric(max_temp_c),
         min_temp_c = as.numeric(min_temp_c),
         mean_temp_c = as.numeric(mean_temp_c),
         heat_deg_days_c = as.numeric(heat_deg_days_c),
         cool_deg_days_c = as.numeric(cool_deg_days_c),
         total_rain_mm = as.numeric(total_rain_mm),
         total_snow_cm = as.numeric(total_snow_cm),
         total_precip_mm = as.numeric(total_precip_mm),
         snow_on_grnd_cm = as.numeric(snow_on_grnd_cm),
         dir_of_max_gust_10s_deg = as.numeric(dir_of_max_gust_10s_deg),
         spd_of_max_gust_km_h = as.numeric(spd_of_max_gust_km_h))
wd_daily_results <- wd_daily_results %>% 
  mutate(total_snow_mm = total_snow_cm*10)


# Finding the number of days in a year when rain and/or snow happened:
wd_yearly_precip <- wd_daily_results %>% 
  mutate(rained = ifelse(total_rain_mm > 0, 1, 0),
         snowed = ifelse(total_snow_mm > 0, 1, 0)) %>% 
  group_by(location, year, latitude, longitude) %>% 
  summarise(days_rained = sum(rained, na.rm = T),
            days_snowed = sum(snowed, na.rm = T)) %>% 
  ungroup()





# Monthly analysis

wd_monthly_d <- wd_daily_results %>% 
  select(station_ID, location, latitude, longitude, year, month, 8, 10, 
         12, 14, 16, 18, 20, 22, 24, 26, 28, 33) %>% 
  group_by(station_ID, location, year, month, latitude, longitude) %>% 
  summarize_all(.funs = mean, na.rm=T)


wd_monthly_d14 <- wd_monthly_d %>% filter(year == 2014, latitude<51)
wd_monthly_d15 <- wd_monthly_d %>% filter(year == 2015, latitude<51)
wd_monthly_d16 <- wd_monthly_d %>% filter(year == 2016, latitude<51)


wd_jan_d14 <- wd_monthly_d %>% filter(year == 2014, month == 1, latitude<51)
wd_feb_d14 <- wd_monthly_d %>% filter(year == 2014, month == 2, latitude<51)
wd_nov_d14 <- wd_monthly_d %>% filter(year == 2014, month == 11, latitude<51)
wd_dec_d14 <- wd_monthly_d %>% filter(year == 2014, month == 12, latitude<51)


wd_jan_d15 <- wd_monthly_d %>% filter(year == 2015, month == 1, latitude<51)
wd_feb_d15 <- wd_monthly_d %>% filter(year == 2015, month == 2, latitude<51)
wd_nov_d15 <- wd_monthly_d %>% filter(year == 2015, month == 11, latitude<51)
wd_dec_d15 <- wd_monthly_d %>% filter(year == 2015, month == 12, latitude<51)


wd_jan_d16 <- wd_monthly_d %>% filter(year == 2016, month == 1, latitude<51)
wd_feb_d16 <- wd_monthly_d %>% filter(year == 2016, month == 2, latitude<51)
wd_nov_d16 <- wd_monthly_d %>% filter(year == 2016, month == 11, latitude<51)
wd_dec_d16 <- wd_monthly_d %>% filter(year == 2016, month == 12, latitude<51)
```


### Mean Temperature 

```{r}
library(leaflet)
suppressPackageStartupMessages(library(htmltools))

pal <- colorNumeric(
  palette = "RdYlBu",
  domain = wd_monthly_d %>% filter(month %in% c(1,2,11,12), year!=2017) %>% pull(mean_temp_c),
  reverse = T
)


leaflet() %>% 
  addProviderTiles(providers$Stamen.TonerLite, group="BnW") %>%
  addProviderTiles(providers$Esri.WorldStreetMap, group="Esri") %>%
  # addResetMapButton()%>% 
  
  # 2014
  addCircleMarkers(data = wd_jan_d14, group = "Jan-2014", 
                   radius = 6, color = ~pal(mean_temp_c),
                   popup = ~paste0("",location, "",
                                   "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_feb_d14, group = "Feb-2014", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_nov_d14, group = "Nov-2014", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_dec_d14, group = "Dec-2014", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% # 2015 addCircleMarkers(data = wd_jan_d15, group = "Jan-2015", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_feb_d15, group = "Feb-2015", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_nov_d15, group = "Nov-2015", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_dec_d15, group = "Dec-2015", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% # 2016 addCircleMarkers(data = wd_jan_d16, group = "Jan-2016", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_feb_d16, group = "Feb-2016", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addCircleMarkers(data = wd_nov_d16, group = "Nov-2016", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T) %>% addCircleMarkers(data = wd_dec_d16, group = "Dec-2016", radius = 6, color = ~pal(mean_temp_c), popup = ~paste0("",location, "", "
", "","Temp: ", "", round(mean_temp_c,0), "C"), stroke = T, fillOpacity = 1, opacity = 1) %>% addLayersControl(baseGroups = c("BnW", "Esri"), overlayGroups = c("Jan-2014", "Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016"), options = layersControlOptions(collapsed = FALSE), position = "bottomleft") %>% hideGroup(group = c("Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016")) %>% addLegend(pal = pal, values = wd_monthly_d %>% filter(month %in% c(1,2,11,12), year!=2017) %>% pull(mean_temp_c)) ``` *** - Nov-2016 is the hottest month ### Mean Total Snow ```{r snow1} library(leaflet) suppressPackageStartupMessages(library(htmltools)) # pal_snow <- colorNumeric( # palette = "RdYlBu", # domain = wd_monthly_d %>% filter(month %in% c(1,2,11,12), year!=2017) %>% pull(total_snow_cm), # reverse = T # ) leaflet() %>% # addProviderTiles(providers$Stamen.TonerLite, group="BnW") %>% addProviderTiles(providers$CartoDB.DarkMatter, group="Esri") %>% # addResetMapButton() %>% # 2014 addCircleMarkers(data = wd_jan_d14 %>% filter(!is.nan(total_snow_cm)), group = "Jan-2014", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_feb_d14%>% filter(!is.nan(total_snow_cm)), group = "Feb-2014", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_nov_d14%>% filter(!is.nan(total_snow_cm)), group = "Nov-2014", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_dec_d14%>% filter(!is.nan(total_snow_cm)), group = "Dec-2014", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% # 2015 addCircleMarkers(data = wd_jan_d15%>% filter(!is.nan(total_snow_cm)), group = "Jan-2015", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_feb_d15%>% filter(!is.nan(total_snow_cm)), group = "Feb-2015", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_nov_d15%>% filter(!is.nan(total_snow_cm)), group = "Nov-2015", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_dec_d15%>% filter(!is.nan(total_snow_cm)), group = "Dec-2015", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% # 2016 addCircleMarkers(data = wd_jan_d16%>% filter(!is.nan(total_snow_cm)), group = "Jan-2016", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_feb_d16%>% filter(!is.nan(total_snow_cm)), group = "Feb-2016", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_nov_d16%>% filter(!is.nan(total_snow_cm)), group = "Nov-2016", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addCircleMarkers(data = wd_dec_d16%>% filter(!is.nan(total_snow_cm)), group = "Dec-2016", radius = ~(total_snow_cm)*2, popup = ~paste0("",location, "", "
", "","Snow: ", "", round(total_snow_cm,0), "cm"), stroke = T, fillOpacity = 1, opacity = 1, color = "white") %>% addLayersControl(overlayGroups = c("Jan-2014", "Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016"), options = layersControlOptions(collapsed = FALSE), position = "bottomleft") %>% hideGroup(group = c("Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016")) ``` *** - Something ### Mean Total Rain ```{r rain1} library(leaflet) suppressPackageStartupMessages(library(htmltools)) leaflet() %>% # addProviderTiles(providers$Stamen.TonerLite, group="BnW") %>% addProviderTiles(providers$OpenStreetMap) %>% # addResetMapButton() %>% # 2014 addCircleMarkers(data = wd_jan_d14 %>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Jan-2014", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_feb_d14%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Feb-2014", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_nov_d14%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Nov-2014", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_dec_d14%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Dec-2014", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% # 2015 addCircleMarkers(data = wd_jan_d15%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Jan-2015", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_feb_d15%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Feb-2015", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_nov_d15%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Nov-2015", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_dec_d15%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Dec-2015", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% # 2016 addCircleMarkers(data = wd_jan_d16%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Jan-2016", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_feb_d16%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Feb-2016", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_nov_d16%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Nov-2016", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addCircleMarkers(data = wd_dec_d16%>% filter(!is.nan(total_rain_mm), total_rain_mm!=0), group = "Dec-2016", radius = ~(total_rain_mm)*2, popup = ~paste0("",location, "", "
", "","Rain: ", "", round(total_rain_mm,2), "mm"), stroke = T, fillOpacity = 0.8, opacity = 1 ) %>% addLayersControl(overlayGroups = c("Jan-2014", "Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016"), options = layersControlOptions(collapsed = FALSE), position = "bottomleft") %>% hideGroup(group = c("Feb-2014", "Nov-2014", "Dec-2014", "Jan-2015", "Feb-2015", "Nov-2015", "Dec-2015", "Jan-2016", "Feb-2016", "Nov-2016", "Dec-2016")) ``` *** - Something ### Number of days of raining/snow-fall ```{r} library(leaflet) library(leaflet.minicharts) suppressPackageStartupMessages(library(htmltools)) wd_yearly_precip <- wd_yearly_precip %>% filter(days_rained!=0 & days_snowed!=0) wd_yearly_precip <- wd_yearly_precip %>% mutate(total = days_rained + days_snowed) colors <- c("#3093e5", "#fcba50") leaflet() %>% addProviderTiles(providers$OpenStreetMap) %>% # %>% addMinicharts( wd_yearly_precip$longitude, wd_yearly_precip$latitude, chartdata = wd_yearly_precip %>% select(days_rained, days_snowed), colorPalette = colors, width = 30 * sqrt(wd_yearly_precip$total) / sqrt(max(wd_yearly_precip$total)), time = wd_yearly_precip$year, type = "pie", popup = popupArgs(supValues = wd_yearly_precip %>% select(-c(days_rained, days_snowed))) ) ```