Field assessments were conducted between r format(min(pscis$date), format="%B %d %Y")
and r format(max(pscis$date), format="%B %d %Y")
by Allan Irvine, R.P.Bio, Mark Fjeld, BiT, Kyle Prince, P,Biol, and Chad Hughes, Ecologist. Mapping was completed by Hillcrest Geographics with a geopackage of project specific layers available here. r if(html_on)knitr::asis_output("Results of Planning, Phase 1 and Phase 2 assessments are summarized in Figure \\@ref(fig:map-interactive) with additional details provided in sections below.")
##make colors for the priorities pal <- colorFactor(palette = c("red", "yellow", "grey", "black"), levels = c("high", "moderate", "low", "no fix")) pal_phase1 <- colorFactor(palette = c("red", "yellow", "grey", "black"), levels = c("high", "moderate", "low", NA)) #https://stackoverflow.com/questions/61026700/bring-a-group-of-markers-to-front-in-leaflet # marker_options <- markerOptions( # zIndexOffset = 1000) tracks <- sf::read_sf("./data/habitat_confirmation_tracks.gpx", layer = "tracks") wshds <- sf::read_sf('data/fishpass_mapping.gpkg', layer = 'hab_wshds_ltree') %>% filter(!pscis_crossing_id %in% c(62423, 62426, 50181, 50159)) %>% ##these ones are not correct - fix later st_transform(crs = 4326) wshd_study_elk <- sf::read_sf('data/fishpass_mapping.gpkg', layer = 'wshd_study_elk') %>% st_transform(crs = 4326) wshd_study_flathead <- sf::read_sf('data/fishpass_mapping.gpkg', layer = 'wshd_study_flathead') %>% st_transform(crs = 4326) photo_metadata <- readr::read_csv(file = 'data/photo_metadata.csv') map <- leaflet(height=500, width=780) %>% # leaflet() %>% addTiles() %>% # leafem::addMouseCoordinates(proj4 = 26911) %>% ##can't seem to get it to render utms yet # addProviderTiles(providers$"Esri.DeLorme") %>% addProviderTiles("Esri.WorldTopoMap", group = "Topo") %>% addProviderTiles("Esri.WorldImagery", group = "ESRI Aerial") %>% addPolygons(data = wshds, color = "#0859C6", weight = 1, smoothFactor = 0.5, opacity = 1.0, fillOpacity = 0.25, fillColor = "#00DBFF") %>% addPolygons(data = wshd_study_elk, color = "#F29A6E", weight = 1, smoothFactor = 0.5, opacity = 1.0, fillOpacity = 0.25, fillColor = "#F29A6E", label = 'Upper Elk River') %>% addPolygons(data = wshd_study_flathead, color = "#C39D50", weight = 1, smoothFactor = 0.5, opacity = 1.0, fillOpacity = 0.25, fillColor = "#C39D50", label = 'Flathead River') %>% # addMeasure() %>% # setView(lng = -105.644, lat = 51.618, zoom = 3) # addPolylines(data=drake::readd(fish_habitat_model_lines), opacity=1, color = '#6498d2', # fillOpacity = 0.75, weight=2) %>% # addPolylines(data=forest_tenure_road_lines, opacity=1, color = '#ff7f00', # fillOpacity = 0.75, weight=2) %>% addLegend( position = "topright", colors = c("red", "yellow", "grey", "black"), labels = c("High", "Moderate", "Low", 'No fix'), opacity = 1, title = "Fish Passage Priorities", ) %>% addCircleMarkers( data=select(tab_plan_sf, -Area), label = tab_plan_sf$Comments, labelOptions = labelOptions(noHide = F, textOnly = F), popup = leafpop::popupTable(x = tab_plan_sf %>% st_drop_geometry(), feature.id = F, row.numbers = F), radius = 9, fillColor = ~pal(Priority), color= "#ffffff", stroke = TRUE, fillOpacity = 1.0, weight = 2, opacity = 1.0, group = "Planning") %>% addCircleMarkers( data=tab_phase1_map, label = tab_phase1_map$ID, labelOptions = labelOptions(noHide = T, textOnly = TRUE), popup = leafpop::popupTable(x = select((tab_phase1_map %>% st_set_geometry(NULL)), Site = ID, Priority = priority_phase1, Stream = stream_name, Road = road_name, `Habitat value`= habitat_value, `Barrier Result` = barrier_result, `Culvert data` = data_link, `Culvert photos` = photo_link), feature.id = F, row.numbers = F), radius = 9, fillColor = ~pal_phase1(priority_phase1), color= "#ffffff", stroke = TRUE, fillOpacity = 1.0, weight = 2, opacity = 1.0, group = "Phase 1" ) %>% addPolylines( data=tracks, opacity=0.75, color = '#e216c4', fillOpacity = 0.75, weight=5, group = "Phase 2") %>% addAwesomeMarkers( lng = photo_metadata$gpslongitude,lat = photo_metadata$gpslatitude, popup = leafpop::popupImage(photo_metadata$url, src = "remote"), clusterOptions = markerClusterOptions(), group = "Phase 2") %>% addCircleMarkers( data=tab_hab_map, label = tab_hab_map$pscis_crossing_id, labelOptions = labelOptions(noHide = T, textOnly = TRUE), popup = leafpop::popupTable(x = select((tab_hab_map %>% st_set_geometry(NULL)), Site = pscis_crossing_id, Priority = priority, Stream = stream_name, Road = road_name, `Habitat (m)`= upstream_habitat_length_m, Comments = comments, `Culvert data` = data_link, `Culvert photos` = photo_link), feature.id = F, row.numbers = F), radius = 9, fillColor = ~pal(priority), color= "#ffffff", stroke = TRUE, fillOpacity = 1.0, weight = 2, opacity = 1.0, group = "Phase 2" ) %>% # # addScaleBar(position = 'bottomleft', options = scaleBarOptions(imperial = FALSE)) %>% addLayersControl( baseGroups = c( "Esri.DeLorme", "ESRI Aerial"), overlayGroups = c("Planning", "Phase 1", "Phase 2"), options = layersControlOptions(collapsed = F)) %>% leaflet.extras::addFullscreenControl() %>% addMiniMap(tiles = providers$"Esri.NatGeoWorldMap", zoomLevelOffset = -6, width = 100, height = 100) map %>% hideGroup(c("Planning", "Phase 2"))
pscis_historic <- readr::read_csv(file = paste0(getwd(), '/data/raw_input/pscis_study_area.csv')) pscis_historic_phase2 <- readr::read_csv(file = paste0(getwd(), '/data/raw_input/pscis_phase2_study_area.csv')) ##read in the kml so we can summarize - prints to console for some reason! # planning_results <- sf::st_read("data/planning_kmls/flathead_planning.kml") # # planning_results %>% filter(study_area %ilike% 'flathead')
Review of the PSCIS database indicated that prior to 2020, r pscis_historic %>% filter(study_area %ilike% 'elk' & assessment_date < '2020-01-01') %>% nrow()
assessments for fish passage (Phase 1) and r pscis_historic_phase2 %>% filter(study_area %ilike% 'elk' & assmt_date < '2020-01-01') %>% nrow()
habitat confirmations (Phase 2) had been conducted at crossing structures within the Upper Elk River. Within the Flathead River watershed, r pscis_historic %>% filter(study_area %ilike% 'flathead' & assessment_date < '2020-01-01') %>% nrow()
fish passage assessments and r knitr::asis_output(pscis_historic_phase2 %>% filter(study_area %ilike% 'flathead' & assmt_date < '2020-01-01') %>% nrow() %>% english::as.english())
habitat confirmations had been conducted.
Following review of background literature, fisheries information, PSCIS and bcfishpass
outputs, r tab_plan_sf %>% nrow() + n_distinct(pscis$my_crossing_reference)
modelled and PSCIS crossings were reviewed to select sites for follow up with Phase 1 and 2 assessments. In total, r tab_plan_sf %>% filter(Area == 'elk') %>% nrow() + n_distinct(pscis$my_crossing_reference)
crossings were reviewed in the Upper Elk River watershed and r tab_plan_sf %>% filter(Area == 'flathead') %>% nrow()
crossings were reviewed in the Flathead River watershed. Not including sites surveyed in the field in 2020, r tab_plan_sf %>% filter(Priority == 'high') %>% nrow()
crossings ranked as high priority for future follow up with Phase 1 and/or Phase 2 assessments, r tab_plan_sf %>% filter(Priority == 'moderate') %>% nrow()
crossings ranked as moderate priorities, r tab_plan_sf %>% filter(Priority == 'low') %>% nrow()
crossings ranked as low priorities and r tab_plan_sf %>% filter(Priority == 'no fix') %>% nrow()
crossings ranked as "no fix". Results are r if(html_on)knitr::asis_output("presented in Figure \\@ref(fig:map-interactive) and ")
included as a zipped Google Earth kml file (Attachment 1).
During 2020 field surveys, a total of r n_distinct(pscis$my_crossing_reference)
Phase 1 assessments were conducted with r pscis %>% filter(barrier_result == 'Passable') %>% nrow()
crossings considered "passable", r pscis %>% filter(barrier_result == 'Potential') %>% nrow() %>% english::as.english()
crossings considered "potential" barriers and r pscis %>% filter(barrier_result == 'Barrier') %>% nrow()
crossings considered "barriers" according to threshold values based on culvert embedment, outlet drop, slope, diameter (relative to channel size) and length [@fish_passage_assessments]. Site maps are presented in r if(html_on){knitr::asis_output("[Attachment 2](https://hillcrestgeo.ca/outgoing/fishpassage/projects/elk/archive/2021-01-31/)")} else knitr::asis_output("[Attachment 2](https://hillcrestgeo.ca/outgoing/fishpassage/projects/elk/archive/2021-01-31/elk_2021-01-31.zip)")
with a summary of crossings assessed, a cost benefit analysis and priority ranking for follow up for Phase 1 sites presented in Table \@ref(tab:cost-est-phase-1). Detailed data with photos are presented in r if(html_on){knitr::asis_output("[Appendix - Phase 1 Fish Passage Assessment Data and Photos]")} else knitr::asis_output("[Attachment 3](https://github.com/NewGraphEnvironment/fish_passage_elk_2020_reporting_cwf/raw/master/docs/Attachment_3_Phase_1_Data_and_Photos.pdf)")
.
Barrier passability criteria used in this project follows @fish_passage_assessments, and reflects an estimation for the passage of a juvenile salmon or small resident rainbow trout [@clarkinNationalInventoryAssessment2005 ;@bellFisheriesHandbookEngineering1991; @thompsonAssessingFishPassage2013]. As noted in @bourne_etal2011Barriersfish, with a detailed review of different criteria in @kemp_ohanley2010Proceduresevaluating, passability of barriers can be quantified in many different ways. Fish physiology (i.e. species, length, swim speeds) as well as the temporal variation of physical characteristics (ex. due to flow volumes/velocities a particular culvert is passable 50% of the time to fish with a defined physiological capacity) make defining passability difficult with important implications for watershed connectivity modelling [@bourne_etal2011Barriersfish; @shaw_etal2016Importancepartial; @mahlum_etal2014EvaluatingBarrier; @kemp_ohanley2010Proceduresevaluating].
if(html_on){ tab_cost_est_phase1 %>% my_kable_scroll(caption_text = 'Upstream habitat estimates and cost benefit analysis for Phase 1 assessments. See Appendix - Phase 1 Fish Passage Assessments for details. IDs are PSCIS idenfifiers with exception of those with * which are interim references.') } else tab_cost_est_phase1[1:19, ] %>% my_kable(caption_text = 'Upstream habitat estimates and cost benefit analysis for Phase 1 assessments. See Appendix - Phase 1 Fish Passage Assessments for details. IDs are PSCIS idenfifiers with exception of those with * which are interim references.') if(identical(html_on, FALSE)){tab_cost_est_phase1[20:39, ] %>% my_kable()} if(identical(html_on, FALSE)){tab_cost_est_phase1[40:59, ] %>% my_kable()} if(identical(html_on, FALSE)){tab_cost_est_phase1[60:nrow(tab_cost_est_phase1), ] %>% my_kable()}
\pagebreak
Habitat confirmation assessments were conducted at r hab_site_priorities %>% nrow()
sites with a total of approximately 15 km of stream assessed. r hab_site_priorities %>% filter(priority %ilike% 'high') %>% nrow() %>% english::as.english() %>% str_to_title()
crossings were rated as high priorities for proceeding to design for replacement, r hab_site_priorities %>% filter(priority %ilike% 'Moderate') %>% nrow() %>% english::as.english() %>% str_to_title()
crossings were rated as moderate priorities for proceeding to design for replacement, r hab_site_priorities %>% filter(priority %ilike% 'Low') %>% nrow() %>% english::as.english()
crossings were rated as a low priority and r hab_site_priorities %>% filter(priority %ilike% 'no fix') %>% nrow() %>% english::as.english()
rated as "no fix". Results are summarized in r if(html_on){knitr::asis_output("Figure \\@ref(fig:map-interactive) and ")}
Tables \@ref(tab:tab-overview) - \@ref(tab:tab-habitat-summary) with raw habitat and fish sampling data included in digital format as Attachment 3. Detailed information for each site assessed with Phase 2 assessments is included within site specific reports included as appendices to this document with maps included as Attachment 2.
\newpage
if(html_on){ tab_overview %>% select(-Tenure) %>% my_tab_overview_scroll(caption_text = 'Overview of habitat confirmation sites.') } else tab_overview[1:6, ] %>% select(-Tenure) %>% my_tab_overview(caption_text = 'Overview of habitat confirmation sites.') if(identical(html_on, FALSE)){tab_overview[7:nrow(tab_overview), ] %>% my_kable()}
\pagebreak
make_tab_cv(dat = pscis2) %>% my_kable(caption_text = 'Summary of Phase 2 fish passage reassessments.')
tab_cost_est_phase2_report %>% my_kable(caption_text = 'Cost benefit analysis for Phase 2 assessments.') # kable(caption = 'Modelled upstream habitat estimate and cost benefit.', # escape = T) %>% # kableExtra::kable_styling(c("condensed"), full_width = T, font_size = 11) %>% # kableExtra::scroll_box(width = "100%", height = "500px")
\pagebreak
tab_hab_summary %>% filter(Location %ilike% 'upstream') %>% select(-Location) %>% rename(`PSCIS ID` = Site, `Length surveyed upstream (m)` = `Length Surveyed (m)`) %>% my_kable(caption_text = 'Summary of Phase 2 habitat confirmation details.')
Fish sampling was conducted at five sites with a total of r tab_fish_summary %>% filter(species_code == 'WCT') %>% pull(count_fish) %>% sum()
westslope cutthout trout, r tab_fish_summary %>% filter(species_code == 'EB') %>% pull(count_fish) %>% sum()
eastern brook trout and r tab_fish_summary %>% filter(species_code == 'BT') %>% pull(count_fish) %>% sum()
bull trout captured. Westslope cutthrout trout were captured at three of the sites sampled with fork length data delineated into life stages: fry (≤60mm), parr (>60 to 110mm), juvenile (>110mm to 140mm) and adult (>140mm) by visually assessing the histogram presented in Figure \@ref(fig:fish-histogram). Fish sampling results are presented in detail within individual habitat confirmation site memos within the appendices of this document with westslope cutthrout trout density results also presented in Figure \@ref(fig:plot-fish-all).
knitr::include_graphics("fig/fish_histogram.png")
plot_fish_box_all()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.