-
Notifications
You must be signed in to change notification settings - Fork 2
/
0800-appendix-197668.Rmd
273 lines (155 loc) · 17.8 KB
/
0800-appendix-197668.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
```{r setup-197668, eval = F}
knitr::opts_chunk$set(echo=FALSE, message=FALSE, warning=FALSE)
source('R/packages.R')
source('R/functions.R')
source('R/functions-phase2.R')
source('R/tables-phase2.R')
source('R/tables.R')
source('R/extract-fish.R')
source('R/functions-fish.R')
```
```{r load-data-197668}
my_site <- 197668
my_site2 <- 124504
mbcfp1 <- my_bcfishpass(site = my_site)
mbcfp2 <- my_bcfishpass(site = my_site2)
```
`r appendix_title2()`
## Site Location {-}
PSCIS crossings `r as.character(my_site)` and `r as.character(my_site2)` are located on `r my_pscis_info() %>% pull(stream_name)` approximately 9km south-east of Telkwa, BC. Crossing `r as.character(my_site)` is located on the railway line and crossing `r as.character(my_site2)` is located on `r my_overview_info(site = my_site2) %>% pull(road_name)`. The crossings are located approximately 30m apart from each other with the railway crossing `r my_priority_info(loc = 'ds') %>% pull(survey_length_m)`m upstream from the confluence with the Bulkley River. Crossing `r as.character(my_site)` is the responsibility of the Canadian National Railway Company (CN Rail) and `r my_overview_info(site = my_site2) %>% pull(road_name)` is the responsibility of the B.C. Ministry of Transportation and Infrastructure.
<br>
## Background {-}
The `r my_pscis_info() %>% pull(stream_name)` watershed upstream of the railway is approximately `r round(my_bcfishpass() %>% pull(watershed_upstr_ha)/100,1)`km^2^ in area containing an estimated `r my_bcfishpass() %>% pull(total_lakereservoir_ha)`ha of lake and `r my_bcfishpass() %>% pull(total_wetland_ha)`ha of wetland. The watershed elevation ranges from approximately 1400m to 530m at the railway where `r my_pscis_info() %>% pull(stream_name)` is a `r my_bcfishpass() %>% pull(stream_order) %>% english::ordinal()` order stream. Numerous fish species have been documented upstream of both crossings including coho salmon, `r my_fish_sp()` [@data_fish_obs; @wilson_rabnett2007FishPassage].
<br>
Coffin Lake is a shallow lake (max depth 2m) located approximately 4.5km upstream of Lawson Road. In the late 1980s, Ducks Unlimited raised water levels in Coffin Lake and a downstream wetland area by installing a 63m long X 2.3m high earthen dam incorporating a variable crest weir capable of a 1.0m drawdown. Additionally excavated level ditching (1800m) within the sedge willow meadow was planned.The intent of the works was to provide a more secure and stable water regime, improve water/cover interspersion and provide territorial, loafing and nesting sites for waterfowl [@hatlevik1985ReconnaissanceSurvey; @simpson1986DucksUnlimited; @ProvincialObstaclesFish]. Feedback on the preliminary development proposal by a regulatory fisheries technician noted that an ideal dam structure would be one providing options to either allow fish passage or comprise a complete barrier. Documentation detailing specifics of the final design of the dam and potential fishway was not obtained with a search of available literature.
<br>
There is one unnassessed modelled crossing located on the mainstem of Coffin Creek (modelled crossing 1802798) approximately 1.3km upstream from Lawson Road and approximately 800m downstream of the hydro transmission line. Review of aerial imagery indicates that this crossing is likely a ford. There are two fords documented in PSCIS on the mainstem of Coffin Creek. The first is located on the hydro power transmission line approximately 2km upstream of the lake inlet and the second (PSCIS 195972) is located approximately 2km upstream of the inlet of Coffin Lake. There is a 10m high falls recorded adjacent to PSCIS 195972 likely representing the upstream fish distribution limit in the mainstem. There are several fords located on tributary streams approximately 2km upstream of the Coffin Lake inlet and several other culverts further upstream previously assessed as barriers.
<br>
@wilson_rabnett2007FishPassage recommended that PSCIS crossing `r as.character(my_site)` be a high priority for remedial works to backwater the crossing by establishing a series of pools to step up to the outfall pool. However, they also noted that velocities within the culvert averaged 2.5m/s which they indicated were excessive for maintaining backwater structures. A rehabilitation design was prescribed by @gaboury_smith2016DevelopmentAquatic in the spring of 2016 and completed by CN Rail in the fall of 2016 by constructing two rock weirs downstream of the outlet. @smith2018AssessingBarriers reported that in 2017, the lowermost riffle required repairs using larger sized rocks. @wilson_rabnett2007FishPassage
<br>
The Coffin Creek watershed has been selected as a focus area for Environmental Stewardship Initiative (ESI) sampling research critical flow monitoring, benthic invertebrate sampling and fisheries assessments (pers. comm Don Morgan, Ministry of Environment and Climate Change Strategy).
<br>
PSCIS stream crossings `r as.character(my_site)` was rated as a high priority for follow up due to the large amount of low gradient stream/wetland/lake habitat upstream, information communicated in @wilson_rabnett2007FishPassage and @smith2018AssessingBarriers related to the need for the work and the potential failures of 2017 remedial works, and because engagement activities with Wet'suwet'en, FLNRO and Ministry of Environment and Climate Change Strategy representatives indicated that there could be potential efficiencies by overlapping fish passage assessment/remediation/monitoring in ESI watersheds. A map of the watershed is provided in map attachment [`r my_bcfishpass() %>% pull(dbm_mof_50k_grid)`](`r my_mapsheet()`).
<br>
## Stream Characteristics at Crossings `r as.character(my_site)` and `r as.character(my_site2)` {-}
At the time of the survey, the `r as.character(my_site)` on `r my_overview_info() %>% pull(road_name)` was un-embedded, non-backwatered and considered a barrier to upstream fish passage according to the provincial protocol. The pipe was `r my_pscis_info() %>% pull(diameter_or_span_meters)`m in diameter with a length of `r my_pscis_info() %>% pull(length_or_width_meters)`m, a culvert slope of `r my_pscis_info() %>% pull(culvert_slope_percent)`%, a stream width ratio of `r my_pscis_info() %>% pull(stream_width_ratio)` and an outlet drop of `r my_pscis_info() %>% pull(outlet_drop_meters)`m (Table \@ref(tab:tab-culvert-197668)). Water temperature was `r my_habitat_info3(sit = my_site2, row = 'temperature c')`$^\circ$C, pH was `r my_habitat_info3(sit = my_site2, row = 'p h')` and conductivity was `r my_habitat_info3(sit = my_site2, row = 'conductivity m s cm')`uS/cm.
<br>
Crossing `r as.character(my_site2)` on `r my_overview_info(site = my_site2) %>% pull(road_name)` was embedded but non-backwatered and ranked as a barrier to upstream fish passage. The pipe was `r my_pscis_info(site = my_site2) %>% pull(diameter_or_span_meters)`m in diameter with a length of `r my_pscis_info(site = my_site2) %>% pull(length_or_width_meters)`m, a culvert slope of `r my_pscis_info(site = my_site2) %>% pull(culvert_slope_percent)`%, a stream width ratio of `r my_pscis_info(site = my_site2) %>% pull(stream_width_ratio)` and an outlet drop of `r my_pscis_info(site = my_site2) %>% pull(outlet_drop_meters)`m (Table \@ref(tab:tab-culvert-124504)).
<br>
```{r eval=F}
##this is useful to get some comments for the report
hab_site %>% filter(site == my_site2 & location == 'us') %>% pull(comments)
my_priority <- my_priority_info()
# north road assessment file here https://a100.gov.bc.ca/pub/acat/public/viewReport.do?reportId=18959
```
## Stream Characteristics Downstream of `r as.character(my_site)` {-}
The stream was surveyed downstream from the culvert for `r my_priority_info(loc = 'ds') %>% pull(survey_length_m)`m `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197668-01) - \\@ref(fig:photo-197668-02))")}else(knitr::asis_output("(Figure \\@ref(fig:photo-197668-d01))"))`. Overall, total cover amount was rated as `r my_habitat_info2(loc = 'ds') %>% filter(rowname == 'total cover') %>% pull(v)` with `r my_habitat_info2(loc = 'ds') %>% filter(v == 'dominant') %>% pull(rowname)` dominant. Cover was also present as `r my_habitat_info2(loc = 'ds') %>% filter(v == 'sub-dominant') %>% pull(rowname) %>% knitr::combine_words()` (Table \@ref(tab:tab-habitat-summary-197668)). The average channel width was `r my_habitat_info3(loc = 'ds', row = 'avg channel width m')`m, the average wetted width was `r my_habitat_info3(loc = 'ds', row = 'avg wetted width m')`m and the average gradient was `r my_habitat_info3(loc = 'ds', row = 'average gradient percent')`%. The dominant substrate was `r my_habitat_info3(loc = 'ds', row = "bed material dominant")` with `r my_habitat_info3(loc = 'ds', row = "bed material subdominant")` subdominant. Abundant gravels suitably sized for coho, rainbow and steelhead spawning were present. Habitat was rated as `r my_priority_info(loc = 'ds') %>% pull(hab_value)` as it was considered an important migration corridor with moderate value habitat for fry/juvenile salmonid rearing.
<br>
## Stream Characteristics Upstream of `r as.character(my_site2)`{-}
`r my_pscis_info() %>% pull(stream_name)` was surveyed upstream from `r as.character(my_site2)` for `r my_priority_info(sit = my_site2, loc = 'us') %>% pull(survey_length_m)`m and again upstream approximately 2.2km at a powerline ford crossing `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197668-03) - \\@ref(fig:photo-197668-04))")} else(knitr::asis_output("(Figure \\@ref(fig:photo-197668-d02))"))`. Within the area surveyed, total cover amount was rated as `r my_habitat_info2(sit = my_site2, loc = 'us') %>% filter(rowname == 'total cover') %>% pull(v)` with `r my_habitat_info2(sit = my_site2, loc = 'us') %>% filter(v == 'dominant') %>% pull(rowname)` dominant. Cover was also present as `r my_habitat_info2(sit = my_site2, loc = 'us') %>% filter(v == 'sub-dominant') %>% pull(rowname) %>% knitr::combine_words()` (Table \@ref(tab:tab-habitat-summary-197668)). The average channel width was `r my_habitat_info3(sit = my_site2, loc = 'us', row = 'avg channel width m')`m, the average wetted width was `r my_habitat_info3(sit = my_site2, loc = 'us', row = 'avg wetted width m')`m and the average gradient was `r my_habitat_info3(sit = my_site2, loc = 'us', row = 'average gradient percent')`%. The stream in the areas surveyed was noted as having high complexity with occasional patches of gravels suitable for spawning present. Habitat value was rated as `r my_priority_info(sit = my_site2, loc = 'us') %>% pull(hab_value)` for younger life stages of resident and anadromous salmonid rearing and resident adult salmonid spawning.
<br>
Table \@ref(tab:tab-culvert-bcfp-197668) `r text_ref_tab_summary_bcfp()` Table \@ref(tab:tab-culvert-bcfp-124504) `r text_ref_tab_summary_bcfp(site = my_site2)`
<br>
## Fish Sampling {-}
Minnowtrapping was conducted upstream and downstream of `r as.character(my_site)`. A total of `r tab_fish_summary %>% filter(site_id == paste0(my_site, '_us')) %>% group_by(site_id) %>% janitor::adorn_totals() %>% filter(site_id == 'Total') %>% pull(count_fish)` fish were captured upstream with `r tab_fish_summary %>% filter(site_id == paste0(my_site, '_ds')) %>% group_by(site_id) %>% janitor::adorn_totals() %>% filter(site_id == 'Total') %>% pull(count_fish)` fish captured downstream `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197668-05) - \\@ref(fig:photo-197668-06))")} else(knitr::asis_output("(Figure \\@ref(fig:photo-197668-d3))"))`. Species captured upstream included coho and rainbow trout with coho, sucker and rainbow trout captured downstream. Results are summarized in Table \@ref(tab:tab-fish-mt-197668).
<br>
## Structure Remediation and Cost Estimate {-}
Replacement with bridges for `r as.character(my_site)` (`r my_pscis_info() %>% pull(recommended_diameter_or_span_meters)`m span) and `r as.character(my_site2)` (`r my_pscis_info(site = my_site2) %>% pull(recommended_diameter_or_span_meters)`m span) are recommended to provide unimpeded access to the habitat located upstream. An estimate of cost for replacement of `r as.character(my_site)` is \$`r format(my_cost_estimate() %>% pull(cost_est_1000s) * 1000, big.mark = ',')` resulting in cost benefits of `r as.character(my_cost_estimate() %>% pull(cost_net))` linear m/\$1000 and `r as.character(my_cost_estimate() %>% pull(cost_area_net))`m^2^/\$1000. An estimate of cost for replacement of `r as.character(my_site2)` is \$`r format(my_cost_estimate(site = my_site2) %>% pull(cost_est_1000s) * 1000, big.mark = ',')` resulting in cost benefits of `r as.character(my_cost_estimate(site = my_site2) %>% pull(cost_net))` linear m/\$1000 and `r as.character(my_cost_estimate(site = my_site2) %>% pull(cost_area_net))`m^2^/\$1000.
<br>
## Conclusion {-}
There is `r my_priority_info() %>% pull(upstream_habitat_length_km)`km of habitat upstream of crossings `r as.character(my_site)` and `r as.character(my_site2)` to the earthen dam constructed by Ducks Unlimited in the late 1980s. Habitat in the areas surveyed upstream of `r as.character(my_site)` and `r as.character(my_site2)` was rated as `r my_priority_info(sit = my_site, loc = 'us') %>% pull(hab_value)` value for salmonid rearing/spawning. Although some works have already been conducted to reduce the impact of crossing `r as.character(my_site)` on upstream fish migration, the works do not appear to be functioning as intended and replacement of the crossing with a bridge will increase passability for all life stages and species. The crossing was ranked as a `r my_priority_info() %>% pull(priority)` priority for proceeding to design for replacement. Although classified as a "barrier" according to provincial metrics, crossing `r as.character(my_site2)` is partially embedded and we suspect that it is passable to most juvenile and adult salmonids during most flows. Although the crossing should be replaced with an open bottomed structure in the long term, the crossing was assessed as a `r my_priority_info(sit = my_site2) %>% pull(priority)` priority for proceeding to design.
<br>
```{r tab-culvert-197668, eval = T}
print_tab_summary()
```
<br>
```{r tab-culvert-124504, eval = T}
print_tab_summary(dat = pscis_all, site = my_site2, site_photo_id = my_site2)
```
<br>
```{r tab-habitat-summary-197668}
tab_hab_summary %>%
filter(Site == my_site | Site == my_site2) %>%
# select(-Site) %>%
my_kable(caption_text = paste0('Summary of habitat details for PSCIS crossings ', my_site, 'and ', my_site2, '.'))
```
<br>
```{r tab-culvert-bcfp-197668, eval = T}
print_tab_summary_bcfp()
```
`r if(gitbook_on){knitr::asis_output("<br>")} else knitr::asis_output("\\pagebreak")`
`r if(gitbook_on){knitr::asis_output("<br>")} else knitr::asis_output("\\pagebreak")`
```{r tab-culvert-bcfp-124504, eval = T}
print_tab_summary_bcfp(site = my_site2)
```
<br>
```{r tab-fish-mt-197668, eval=T}
my_caption <- paste0('Fish captured in minnowtraps set overnight upstream and downstream of PSCIS crossing ', my_site, '.')
tab_fish_mt() %>%
my_kable(caption_text = my_caption)
```
<br>
```{r photo-197668-01-prep, eval=T}
my_photo1 = pull_photo_by_str(str_to_pull = '_d1_')
my_caption1 = paste0('Typical habitat downstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197668-01, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197668-02-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_d2_')
my_caption2 = paste0('Coffin Creek downstream of PSCIS crossing ', my_site, ' at confluence with the Bulkley River.')
```
```{r photo-197668-02, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
<br>
```{r photo-197668-d01, fig.cap = my_caption, fig.show="hold", out.width= c("49.5%","1%","49.5%"), eval=identical(gitbook_on, FALSE)}
my_caption <- paste0('Left: ', my_caption1, ' Right: ', my_caption2)
knitr::include_graphics(get_img_path(photo = my_photo1))
knitr::include_graphics("fig/pixel.png")
knitr::include_graphics(get_img_path(photo = my_photo2))
```
```{r photo-197668-03-prep}
my_photo1 = pull_photo_by_str(str_to_pull = '_u1_')
my_caption1 = paste0('Habitat upstream of PSCIS crossing ', my_site2, '.')
```
```{r photo-197668-03, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197668-04-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_u2_')
my_caption2 = paste0('Habitat 2.1km upstream of PSCIS crossing ', my_site2, '.')
```
```{r photo-197668-04, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
```{r photo-197668-d02, fig.cap = my_caption, fig.show="hold", out.width= c("49.5%","1%","49.5%"), eval=identical(gitbook_on, FALSE)}
my_caption <- paste0('Left: ', my_caption1, ' Right: ', my_caption2)
knitr::include_graphics(get_img_path(photo = my_photo1))
knitr::include_graphics("fig/pixel.png")
knitr::include_graphics(get_img_path(photo = my_photo2))
```
```{r photo-197668-05-prep}
my_photo1 = pull_photo_by_str(str_to_pull = '_df1_')
my_caption1 = paste0('Coho captured downstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197668-05, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197668-06-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_uf1_')
my_caption2 = paste0('Coho captured upstream of PSCIS crossing ', my_site2, '.')
```
```{r photo-197668-06, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
```{r photo-197668-d03, fig.cap = my_caption, fig.show="hold", out.width= c("49.5%","1%","49.5%"), eval=identical(gitbook_on, FALSE)}
my_caption <- paste0('Left: ', my_caption1, ' Right: ', my_caption2)
knitr::include_graphics(get_img_path(photo = my_photo1))
knitr::include_graphics("fig/pixel.png")
knitr::include_graphics(get_img_path(photo = my_photo2))
```