library(tidyhydat)
library(tidyverse)
library(zoo)
library(timetk)
library(Hydro)
library(weathercan)

longitude<- -122.272268
latitude<- 52.579673

1 Flow Review

The closest flow station were check around the site. The context were less than 100 km from the site, with a watershed area smaller than 1,000 km2 and unregulated.

From thie review 4 gauges were selected; where the closest one is 17 km from the site with 100 km2.

hydat_db<-hy_stations() 

sel_gau<-hydat_db%>% 
        mutate(DIST=geosphere::distVincentyEllipsoid(p1=cbind(LONGITUDE,LATITUDE),
                                                     p2=c(longitude,latitude))/1000) %>% 
        dplyr::filter(DIST<100,HYD_STATUS=="ACTIVE",DRAINAGE_AREA_GROSS<1000) %>% 
        arrange(DIST) %>% 
        left_join(.,hy_stn_regulation()) %>% 
        dplyr::filter(REGULATED==FALSE)
## Joining, by = "STATION_NUMBER"
sel_gau %>% 
        dplyr::select(STATION_NUMBER,STATION_NAME,DRAINAGE_AREA_GROSS,DIST) %>% 
        pander::pandoc.table()
STATION_NUMBER STATION_NAME DRAINAGE_AREA_GROSS DIST
08MC045 SHERIDAN CREEK ABOVE MCLEESE LAKE 99 17.14
08KE024 LITTLE SWIFT RIVER AT THE MOUTH 127 50.53
08KH019 MOFFAT CREEK NEAR HORSEFLY 548 65.67
08KH010 HORSEFLY RIVER ABOVE MCKINLEY CREEK 790 88.03
flow_z<-tidyhydat::hy_daily_flows(station_number = sel_gau$STATION_NUMBER) %>% 
        reshape2::dcast(data = .,formula = Date~STATION_NUMBER,value.var = "Value") %>% 
        tk_zoo(silent=T)

flow_z %>% window(start=as.Date("2000-01-01")) %>% 
        daily2monthly.V2() %>% 
        fortify.zoo() %>% 
        reshape2::melt(data=.,id.vars="Index") %>%
        mutate(mon=lubridate::month(Index,label=T)) %>% 
        ggplot(data=.,aes(x=mon,y=value))+
        geom_boxplot()+
        facet_wrap(~variable,scales="free_y")+
        theme_light()+
        labs(y="Monthly Flows [m3/s]")

The boxplots present the information from 2000 and ahead. It is noted the closest water has their peak in April, follow by May; where the other watersheds are April, May and June. It is observed most of the flows are in April-May.

As a reference, the information for flow gauges is available up to end of 2021; so it was not used or compared with the actual records.

2 Meteo Review

As a reference the closest active stations with informaiton after 2020. the dates are matching with the over zero temperature in the region; however it may recommended to go or starting the visit in the beggining of April.

# stations_dl()

weathercan_db<-stations()

sel_met<-weathercan_db%>% 
        mutate(DIST=geosphere::distVincentyEllipsoid(p1=cbind(lon,lat),
                                                     p2=c(longitude,latitude))/1000) %>% 
        dplyr::filter(DIST<100,end>2020) %>% 
        arrange(DIST)

met_db<-weathercan::weather_dl(station_ids = sel_met$station_id,interval = "day",start = as.Date("2020-01-01"))


met_db %>% dplyr::select(station_name,date,mean_temp) %>%

        # dplyr::filter(station_name=="MCLEESE LAKE GRANITE MT")
        # reshape2::dcast(data=.,formula=date~station_name,value.name = "mean_temp",fun.aggregate = mean) %>% 
        dplyr::filter(date>=as.Date("2022-01-01")) %>% 
        ggplot(data=.,aes(x=date,y=mean_temp,col=station_name))+
        geom_hline(yintercept = 0,linetype="dashed")+
        geom_vline(xintercept = as.Date("2022-04-27"))+
        annotate(x = as.Date("2022-04-27"),y=20,geom="label",label="April-27\nGauge Activation")+
        geom_vline(xintercept = as.Date("2022-11-04"))+
        annotate(x = as.Date("2022-11-04"),y=20,geom="label",label="November-04\nGauge De-activation")+

        geom_point()+
        geom_line()+
        theme_light()+
        theme(legend.position="bottom")

3 Snowpack

Information was capture from the snowcourse at 1C33 - Granite Mountain.

https://aqrt.nrs.gov.bc.ca/Data/DataSet/Grid/Location/1C33A/DataSet/SW/Field%20Visits/Interval/Latest

Based on the records from 2022,

snow_tbl<-tibble::tribble(
                     ~Date, ~SWE,
        "2022-01-07 12:00", 140L,
        "2022-03-01 12:00", 246L,
        "2022-03-31 12:00", 224L,
        "2022-04-28 12:00", 200L,
        "2022-12-15 12:00",  77L
        )

pander::pandoc.table(snow_tbl,caption="SWE [mm]")
SWE [mm]
Date SWE
2022-01-07 12:00 140
2022-03-01 12:00 246
2022-03-31 12:00 224
2022-04-28 12:00 200
2022-12-15 12:00 77
ggplot(data=snow_tbl,aes(x=as.Date(Date),y=SWE))+
        geom_point()+
        geom_line()+
        geom_label(aes(label=paste0(as.Date(Date),"\n,",SWE),y=SWE+10))+
                geom_vline(xintercept = as.Date("2022-04-27"))+
        annotate(x = as.Date("2022-04-27"),y=20,geom="label",label="April-27\nGauge Activation")+
        labs(title="Snowpack SWE at Granite Mountain", subtitle="Year 2022",
             y="SWE mm",x="Date")+
        scale_y_continuous(limits=c(0,NA))+
        theme_light()

4 Comments

Victor: The campaign’s main drawback, in my opinion, is that a fifth or so of the snowmelt has already been lost before the flows are recorded. Although the dates make sense because (temperature wise). As it can be crucial to record total runoff volume, it’s likely that the crucial flows have already disappeared by end of April.

I’ll strongly suggest starting the flow check in March or in the worst case scenario pushing the campaign’s launch date to the first days of April.