-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path0800-appendix-197658.Rmd
264 lines (148 loc) · 17.7 KB
/
0800-appendix-197658.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
```{r setup-197658, 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-197658}
my_site <- 197658
```
`r appendix_title()`
## Site Location {-}
PSCIS crossing `r as.character(my_site)` is located on `r my_pscis_info() %>% pull(stream_name)` on `r my_overview_info() %>% pull(road_name)` approximately 20km east of Houston, BC with the crossing located approximately 2.5km upstream from the confluence with the Bulkley River. `r my_overview_info() %>% pull(road_name)` is the responsibility of the B.C. Ministry of Transportation and Infrastructure.
<br>
## Background {-}
At crossing `r as.character(my_site)`, `r my_pscis_info() %>% pull(stream_name)` is a `r my_bcfishpass() %>% pull(stream_order) %>% english::ordinal()` order stream with a watershed area upstream of the crossing of approximately `r round(my_bcfishpass() %>% pull(watershed_upstr_ha)/100,1)`km^2^. The elevation of the watershed ranges from a maximum of 1240 to 680m at PSCIS crossing `r as.character(my_site)`. Upstream of the highway, coho, steelhead, rainbow trout, longnose dace, redside shiner, longnose sucker and largescale sucker have been previously recorded as present [@data_fish_obs]. Chinook, coho and steelhead have been noted as spawning in `r my_pscis_info() %>% pull(stream_name)` with chinook documented as present up to the highway culvert only [@gottesfeld_etal2002ConservingSkeena; @dfo1991FishHabitat]. A bridge (PSCIS 197660) is located on the stream under the railway approximately 1.3km downstream. Although there are numerous crossings modelled upstream, a series of three impassable waterfalls are located approximately 6km upstream of the highway (pers. comm. Jonathan Van Barneveld, Forester - FLNR). There are only two modelled crossings (1800233, 1801084) located on a small tributary entering the mainstem below the falls.
<br>
In the summer of 1998, the Nadina Community Futures Development Corporation (NCFDC) contracted the British Columbia Conservation Foundation to carry out a detailed Level 1 Fish, Fish Habitat and Riparian Assessment in the first reach of `r my_pscis_info() %>% pull(stream_name)` as well as several other large Upper Bulkley River tributary streams and the Upper Bulkley mainstem. The area surveyed extended to 4.2km from the mouth, covering 2.5km of habitat upstream of the culvert [@ncfdc1998MidBulkleyDetailed]. Building on these assessments and detailed fish sampling, @ncfdc1998MidBulkleyDetailed developed restoration prescriptions for the lower reaches of the `r my_pscis_info() %>% pull(stream_name)`. Prescriptions were developed to address what the authors termed moderately to severely disturbed habitat, which comprised 90% of the area surveyed. Impacts due to land use in the watershed included:
* straightening/diversion of main channel below Highway 16.
* loss of riparian forest and soil compaction in areas used for agriculture, the powerline corridor, transportation corridors and at housing developments within the floodplain.
* loss of the shrub/herb layer and soil compaction from cattle grazing where overstory still present.
* removal of large woody debris which controls lateral channel movement and plant community distribution on the floodplain.
* high water temperatures, poor LWD frequency, extensive channel and slope disturbance and high sediment load, substrate embededdness and low pool frequency/quality.
<br>
Overall, @ncfdc1998MidBulkleyDetailed report that, in an unimpacted state, the first reach of `r my_pscis_info() %>% pull(stream_name)` (including the 2.5km upstream of the culvert) is a critical and productive area for spawning and rearing particularly for coho and steelhead. They also note that the area may be an important area for chinook salmon summer rearing and summer/fall spawning habitat as it contains larger substrate, greater foraging opportunities, greater channel complexity and cooler temperatures than present in the adjacent Bulkley mainstem. The proximity of the reach to the mainstem provides easy access to overwintering habitat, mainstem rearing areas for older juvenile salmonids and options for refuge during high flow events. Detailed prescriptions for restorative measures that address noted impacts are documented in @ncfdc1998MidBulkleyDetailed.
<br>
Overwintering studies using minnowtrapping were conducted downstream of the highway culvert between 2005 and 2009 with coho and rainbow trout/steelhead captured. Results are summarized in @donas_newman2006BulkleyRiver, @donas_newman2007BulkleyRiver, @donas_newman2008BulkleyRiver and @donas_newman2010BulkleyRiver. During these assessments, fry were observed actively migrating up through the culvert (pers comm Cindy Verbeek, Upper Bulkley Streamkeepers).
<br>
PSCIS stream crossing `r as.character(my_site)` was ranked as a high priority for follow up by @smith2018AssessingBarriers and was assessed as a barrier to upstream migration during low flows (low water depth) by @mccarthy_fernando20152015Inventory. In 2007, @wilson_rabnett2007FishPassage assessed the site reported that fish passage at `r as.character(my_site)` was not hindered by the culverts at that time although they were not using the assessment protocol standardized by the Fish Passage Technical Working Group [@fish_passage_assessments]. A map of the watershed is provided in map attachment [`r my_bcfishpass() %>% pull(dbm_mof_50k_grid)`](`r my_mapsheet()`).
## Stream Characteristics at Crossing {-}
At the time of the survey, the culvert under Highway 16 was un-embedded, non-backwatered and ranked as a barrier to upstream fish passage acoording to the provincial protocol [@fish_passage_assessments]. 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-197658)). Water temperature was `r my_habitat_info3(row = 'temperature c')`$^\circ$C, pH was `r my_habitat_info3(row = 'p h')` and conductivity was `r my_habitat_info3(row = 'conductivity m s cm')`uS/cm.
<br>
```{r eval=F}
##this is useful to get some comments for the report
hab_site %>% filter(site == my_site & location == 'ds2') %>% pull(comments)
my_priority <- my_priority_info()
```
## Stream Characteristics Downstream {-}
The stream was surveyed downstream from the culvert for `r my_priority_info(loc = 'ds1') %>% pull(survey_length_m)`m beginning at the culvert location and then for another `r my_priority_info(loc = 'ds2') %>% pull(survey_length_m)`m beginning downstream of the railway bridge and teminating at the Bulkley River mainstem `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197658-01) - \\@ref(fig:photo-197658-02))")}else(knitr::asis_output("(Figure \\@ref(fig:photo-197658-d01))"))`.
<br>
In the area immediately below the culvert, total cover amount was rated as `r my_habitat_info2(loc = 'ds1') %>% filter(rowname == 'total cover') %>% pull(v)` with `r my_habitat_info2(loc = 'ds1') %>% filter(v == 'dominant') %>% pull(rowname)` dominant. Cover was also present as `r my_habitat_info2(loc = 'ds1') %>% filter(v == 'sub-dominant') %>% pull(rowname) %>% knitr::combine_words()` (Table \@ref(tab:tab-habitat-summary-197658)). The average channel width was `r my_habitat_info3(loc = 'ds1', row = 'avg channel width m')`m, the average wetted width was `r my_habitat_info3(loc = 'ds1', row = 'avg wetted width m')`m and the average gradient was `r my_habitat_info3(loc = 'ds1', row = 'average gradient percent')`%. The dominant substrate was `r my_habitat_info3(loc = 'ds1', row = "bed material dominant")` with `r my_habitat_info3(loc = 'ds1', row = "bed material subdominant")` subdominant. Within the area surveyed, the channel flowed through cattle rangeland and appeared to be straightened with low complexity. Cattle impacts were evident on both banks with extensive grazing of riparian vegetation apparent. There was minimal cover available with no pools, and extensive riffles. The habitat was rated as `r my_priority_info(loc = 'ds1') %>% pull(hab_value)` value as it was considered an important migration corridor and because the larger substrate could provide important salmon fry rearing habitat, particularly in low velocities margins.
<br>
Below the railway bridge, the habitat was noted as far more complex than the area immediately below the highway culvert. Total cover amount was rated as `r my_habitat_info2(loc = 'ds2') %>% filter(rowname == 'total cover') %>% pull(v)` with `r my_habitat_info2(loc = 'ds2') %>% filter(v == 'dominant') %>% pull(rowname)` dominant. Cover was also present as `r my_habitat_info2(loc = 'ds2') %>% filter(v == 'sub-dominant') %>% pull(rowname) %>% knitr::combine_words()`. The average channel width was `r my_habitat_info3(loc = 'ds2', row = 'avg channel width m')`m, the average wetted width was `r my_habitat_info3(loc = 'ds2', row = 'avg wetted width m')`m and the average gradient was `r my_habitat_info3(loc = 'ds2', row = 'average gradient percent')`%. The dominant substrate was `r my_habitat_info3(loc = 'ds2', row = "bed material dominant")` with `r my_habitat_info3(loc = 'ds2', row = "bed material subdominant")` subdominant. There were extensive sections of channel with deep glides (50-70 cm deep at the time of survey) with well developed riparian vegetation creating good structure for all species and life stages of salmonids. An algae layer was noted on the substrate. There were abundant large gravels and small cobbles present suitable for salmon spawning.
<br>
## Stream Characteristics Upstream {-}
The stream was surveyed upstream from `r as.character(my_site)` for `r my_priority_info(loc = 'us') %>% pull(survey_length_m)`m `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197658-03) - \\@ref(fig:photo-197658-04))")} else(knitr::asis_output("(Figure \\@ref(fig:photo-197658-d02))"))`. Within the area surveyed, total cover amount was rated as `r my_habitat_info2(loc = 'us') %>% filter(rowname == 'total cover') %>% pull(v)` with `r my_habitat_info2(loc = 'us') %>% filter(v == 'dominant') %>% pull(rowname)` dominant. Cover was also present as `r my_habitat_info2(loc = 'us') %>% filter(v == 'sub-dominant') %>% pull(rowname) %>% knitr::combine_words()` (Table \@ref(tab:tab-habitat-summary-197658)). The average channel width was `r my_habitat_info3(loc = 'us', row = 'avg channel width m')`m, the average wetted width was `r my_habitat_info3(loc = 'us', row = 'avg wetted width m')`m and the average gradient was `r my_habitat_info3(loc = 'us', row = 'average gradient percent')`%. The dominant substrate was `r my_habitat_info3(loc = 'us', row = "bed material dominant")` with `r my_habitat_info3(loc = 'us', row = "bed material subdominant")` subdominant. Within the area surveyed, riparian areas adjacent to both banks were used as rangeland with several cattle access points on the stream and evidence of understory shrub degradation from cattle grazing. The large stream had high habitat complexity including numerous pools up to 2m deep and frequent glide sections to 1m deep throughout. There were extensive areas of gravel suitable for spawning for resident and anadromous salmonid species. Habitat value was rated as `r my_priority_info(loc = 'us') %>% pull(hab_value)` for resident and anadromous salmonid rearing and spawning.
<br>
Table \@ref(tab:tab-culvert-bcfp-197658) `r text_ref_tab_summary_bcfp()`
<br>
## Fish Sampling {-}
Minnowtrapping was conducted with three traps set overnight upstream as well as downstream of the crossing. A total of `r tab_fish_summary %>% filter((site_id == paste0(my_site, '_ds1')) & species_code == 'CO') %>% pull(count_fish)` coho and `r tab_fish_summary %>% filter((site_id == paste0(my_site, '_ds1')) & species_code == 'RB') %>% pull(count_fish)` rainbow trout were captured downstream with `r tab_fish_summary %>% filter(site_id == paste0(my_site, '_us') & species_code == 'CO') %>% pull(count_fish)` coho and `r tab_fish_summary %>% filter(site_id == paste0(my_site, '_us') & species_code == 'RB') %>% pull(count_fish)` rainbow trout captured upstream (Table \@ref(tab:tab-fish-mt-197658) and `r if(gitbook_on){knitr::asis_output("(Figures \\@ref(fig:photo-197658-05) - \\@ref(fig:photo-197658-06))")}else(knitr::asis_output("(Figure \\@ref(fig:photo-197658-d03))"))`.
<br>
## Structure Remediation and Cost Estimate {-}
Structure replacement with a bridge (`r my_pscis_info() %>% pull(recommended_diameter_or_span_meters)`m span) is recommended to provide access to the habitat located upstream of PSCIS crossing `r as.character(my_site)`. The cost of the work is estimated at \$`r format(my_cost_estimate() %>% pull(cost_est_1000s) * 1000, big.mark = ',')` for a cost benefit 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.
<br>
## Conclusion {-}
There is an estimated `r my_priority_info() %>% pull(upstream_habitat_length_km)`km of mainstem habitat upstream of crossing `r as.character(my_site)`. Habitat in this area was rated as `r my_priority_info(sit = my_site, loc = 'us') %>% pull(hab_value)` value for salmonid rearing/spawning. The crossing may present a barrier not only to potentially all life stages of salmonids at higher flow velocities, but also to adult fish (including chinook and coho spawners) due to shallow water depths in the culvert during low flows. Restoration of riparian forests, cattle exclusion, bank stabilization and habitat complexing could be considered alongside fish passage restoration activities [@ncfdc1998MidBulkleyDetailed]. `r my_overview_info() %>% pull(road_name)` is the responsibility of the Ministry of Transportation and Infrastructure. The crossing was ranked as a `r my_priority_info() %>% pull(priority)` priority for proceeding to design for replacement.
<!-- this is a bit strange but the pages.js will not build beyond this so we leave for now -->
`r if(gitbook_on){knitr::asis_output("<br>")} else knitr::asis_output("\\pagebreak")`
```{r tab-culvert-197658, eval = T}
print_tab_summary()
```
<br>
```{r tab-habitat-summary-197658}
tab_hab_summary %>%
filter(Site == my_site) %>%
# select(-Site) %>%
my_kable(caption_text = paste0('Summary of habitat details for PSCIS crossing ', my_site, '.'))
```
<br>
```{r tab-culvert-bcfp-197658, eval = T}
print_tab_summary_bcfp()
```
<br>
```{r tab-fish-mt-197658, 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-197658-01-prep, eval=T}
my_photo1 = pull_photo_by_str(str_to_pull = '_d1_')
my_caption1 = paste0('Typical habitat immediately downstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197658-01, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197658-02-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_d2_')
my_caption2 = paste0('Typical habitat downstream of crossing ', my_site, ' below the railway bridge and adjacent to the Bulkley River mainstem.')
```
```{r photo-197658-02, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
<br>
```{r photo-197658-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-197658-03-prep}
my_photo1 = pull_photo_by_str(str_to_pull = '_u1_')
my_caption1 = paste0('habitat upstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197658-03, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197658-04-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_u2_')
my_caption2 = paste0('Habitat upstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197658-04, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
```{r photo-197658-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))
```
<br>
```{r photo-197658-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-197658-05, fig.cap= my_caption1, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo1))
```
<br>
```{r photo-197658-06-prep}
my_photo2 = pull_photo_by_str(str_to_pull = '_uf1_')
my_caption2 = paste0('Coho captured upstream of PSCIS crossing ', my_site, '.')
```
```{r photo-197658-06, fig.cap= my_caption2, out.width = photo_width, eval=gitbook_on}
grid::grid.raster(get_img(photo = my_photo2))
```
```{r photo-197658-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))
```