---
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)))
)
```