2 Background

2.1 Project Location

The study area primarily focuses on the Neexdzii Kwah (Upper Bulkley River), which is located upstream of the confluence of the Widzin Kwah (Morice River) and the Neexdzii Kwah rivers (Figure 2.1). Although this area is the initial focus of activities, the overall area for project activities can include anywhere within the boundaries of the Widzin Kwah Water Sustainability Project. The boundaries of the Widzin Kwah Water Sustainability Project include not only the Neexdzii Kwah but also the entire drainage area of Widzin Kwah (Morice River) as well as the small portion of the Bulkley River downstream of the Morice River confluence to just north of Dockrill Creek (“Widzin Kwah Water Sustainability Project n.d.).

knitr::include_graphics("fig/maps/neexdzi_kwa_overview.png")
Overview map of Neexdzii Kwah Study Area

Figure 2.1: Overview map of Neexdzii Kwah Study Area

2.1.1 Neexdzii Kwah (Upper Bulkley River)

fwapgr::fwa_watershed_at_measure(360873822, 164920) %>% mutate(area_km2 = round(area_ha/100, 1)) %>% pull(area_km2)

The Neexdzii Kwah (Upper Bulkley River) is an 8th order stream that drains an area of 2320km2 in a generally northerly direction from Bulkley Lake on the Nechako Plateau to its confluence with the Widzin Kwah (Morice River) near Houston (“Widzin Kwah Water Sustainability Project n.d.). It has a mean annual discharge of 18.8 m3/s at station 08EE003 located near Houston. The hydrograph peaks around May - June during the spring freshet with additional peaks related to significant rain events (Figure 2.2). Highway 16 and the CN Railroad parallel the upper Bulkley River and pass through the towns of Topley and Houston.

hydat_stations <- fpr::fpr_db_query(query = lfpr_dbq_clip('whse_environmental_monitoring.envcan_hydrometric_stn_sp',
'whse_basemapping.fwa_watershed_groups_poly', 'watershed_group_code', c("BULK", "MORR")))

hydat_stations_active <- hydat_stations %>% 
  dplyr::filter(station_operating_status == "ACTIVE-REALTIME")
lfpr_create_hydrograph("08EE003", start_year = 1980)
plot <- fasstr::plot_longterm_monthly_stats(
  station_number = "08EE003",
  ignore_missing = TRUE,
  add_year = 2023
)

print(plot$`Long-term_Monthly_Statistics`)
Neexdzii Kwah near Houston (Station #08EE003 - Lat 54.39938 Lon -126.71941).

Figure 2.2: Neexdzii Kwah near Houston (Station #08EE003 - Lat 54.39938 Lon -126.71941).

knitr::include_graphics("fig/hydrograph_08EE003.png")
knitr::include_graphics("fig/hydrology_stats_08EE003.png")

2.1.2 Buck Creek

fwapgr::fwa_watershed_at_measure(360886221) %>% mutate(area_km2 = round(area_ha/100, 1)) %>% pull(area_km2)

Buck Creek is a 5th order stream which enters Neexdzii Kwah just upstream of the Wedzin Kwa / Neexdzii Kwah (Morice/Bulkley) confluence adjacent to Houston. The watershed drains an area of 567km2. Buck Creek is one of the main tributaries to the Neexdzii Kwah and has a mean annual discharge of 4.4 m3/s at station 08EE013 located near the Houston Medical Centre approximately 1 km upstream of the mouth (Westcott 2022a). Flows from Buck Creek account for just under 1/3 of the total flows in Neexdzii Kwah. The hydrograph for Buck Creek shows a similar pattern to Neexdzii Kwah with peak flows in May - June (Figure 2.3).

plot <- fasstr::plot_longterm_monthly_stats(station_number = "08EE013",
                            ignore_missing = TRUE,
                            add_year = 2023) 
print(plot$`Long-term_Monthly_Statistics`)
Buck Creek at the confluence with the Neexdzii Kwah (Station #08EE013 - Lat 54.39608 Lon -126.65024).

Figure 2.3: Buck Creek at the confluence with the Neexdzii Kwah (Station #08EE013 - Lat 54.39608 Lon -126.65024).

lfpr_create_hydrograph("08EE013")
knitr::include_graphics("fig/hydrograph_08EE013.png")
knitr::include_graphics("fig/hydrology_stats_08EE013.png")
# McQuarrie Creek is a 5th order stream that flows into the Upper Bulkley River \~20 km upstream of Houston, and drains an area of `r fwapgr::fwa_watershed_at_measure(360875378) %>% mutate(area_km2 = round(area_ha/100, 1)) %>% pull(area_km2)` km^2^. There is one hydrometric station on McQuarrie Creek deployed by the BC Ministry of Forests, Land, Natural Resource Operations and Rural Development Groundwater Program (FLNRORD) which was was active from 2016-2018 but has very few data [@westcott2022UpperBulkley]. An estimate of mean annual discharge for the two years of available data is `r round(fasstr::calc_longterm_mean(mq_clean),1)` m^3^/s at station 08EE0002 located near the mouth of the creek. Based of the limited data, the hydrograph for McQuarrie Creek during this time period peaks rapidly in May and again in the winter (Figures \@ref(fig:hydrograph3)).
### McQuarrie Creek
#McQuarrie Creek, station number 08EE0002, but station not part of hydat database
mq <- read.csv("data/hydrometric/DataSetExport-Discharge.Logger@08EE0002-20240308164919.csv")

mq_clean <- mq %>%
  janitor::row_to_names(2) %>%
  janitor::clean_names() %>%
  select(-event_timestamp_utc_08_00)%>%
  rename(Value = value_m_3_s) %>%
  mutate(Value = as.numeric(Value)) %>%
  mutate(timestamp_utc_08_00 = lubridate::ymd_hms(timestamp_utc_08_00)) %>%
  mutate(Date = lubridate::date(timestamp_utc_08_00)) %>%
  mutate(time = format(timestamp_utc_08_00, "%H:%M:%S"))

start_year <- mq_clean$Date %>% min() %>% lubridate::year()
end_year <- mq_clean$Date %>% max() %>% lubridate::year()
#Manually creating hydrograph for McQuarrie Creek, station 08EE0002, because station not part of hydat database.

flow <- mq_clean %>%
  dplyr::mutate(day_of_year = yday(Date)) %>%
  dplyr::group_by(day_of_year) %>%
  dplyr::summarise(daily_ave = mean(Value, na.rm=TRUE),
                   daily_sd = sd(Value, na.rm = TRUE),
                   max = max(Value, na.rm = TRUE),
                   min = min(Value, na.rm = TRUE)) %>%
  dplyr::mutate(Date = as.Date(day_of_year))

plot <- ggplot2::ggplot()+
  ggplot2::geom_ribbon(data = flow, aes(x = Date, ymax = max,
                                        ymin = min),
                       alpha = 0.3, linetype = 1)+
  ggplot2::scale_x_date(date_labels = "%b", date_breaks = "2 month") +
  ggplot2::labs(x = NULL, y = expression(paste("Mean Daily Discharge (", m^3, "/s)", sep="")))+
  ggdark::dark_theme_bw() +
  ggplot2::geom_line(data = flow, aes(x = Date, y = daily_ave),
                     linetype = 1, linewidth = 0.7) +
  ggplot2::scale_colour_manual(values = c("grey10", "red"))
plot

ggplot2::ggsave(plot = plot, file=paste0("fig/hydrograph_", "08EE0002", ".png"),
                h=3.4, w=5.11, units="in", dpi=300)
knitr::include_graphics("fig/hydrograph_08EE0002.png")
### Widzin Kwah (Morice River)

# The Widzin Kwah (Morice River) watershed drains `r fwapgr::fwa_watershed_at_measure(360885316) %>% mutate(area_km2 = round(area_ha/100, 1)) %>% pull(area_km2)` km^2^ of Coast Mountains and Interior Plateau in a generally south-eastern direction. The Morice River is an 8th order stream that flows approximatley 80km from Widzin Bin (Morice Lake) to the confluence with the upper Bulkley River just north of Houston. Major tributaries include the Nanika River, the Atna River, Gosnell Creek and the Thautil River. There area numerous large lakes situated on the south side of the watershed including Morice Lake, McBride Lake, Stepp Lake, Nanika Lake, Kid Price Lake, Owen Lake and others. There is one active hydrometric station on the mainstem of the Morice River near the outlet of Morice Lake and one historic station that was located at the mouth of the river near Houston that gathered data in 1971 only [@canada2010NationalWater]. An estimate of mean annual discharge for the one year of data available for the Morice near it's confluence with the Bulkley River is `r round(fasstr::calc_longterm_mean(station_number = "08ED003")$LTMAD,1)` m^3^/s. Mean annual discharge is estimated at `r round(fasstr::calc_longterm_mean(station_number = "08ED002")$LTMAD,1)` m^3^/s at station 08ED002 located near the outlet of Morice Lake. Flow patterns are typical of high elevation watersheds influenced by coastal weather patterns which receive large amounts of winter precipitation as snow in the winter and large precipitation events in the fall. This leads to peak levels of discharge during snowmelt, typically from May to July with isolated high flows related to rain and rain on snow events common in the fall (Figures \@ref(fig:hydrograph4) - \@ref(fig:hydrology-stats4)).
# 
# ```{r, eval=TRUE}
# lfpr_create_hydrograph("08ED002")
knitr::include_graphics("fig/hydrograph_08ED002.png")
knitr::include_graphics("fig/hydrology_stats_08ED002.png")

2.1.3 Climate Anomalies

To provide regional climate context, we used a custom fork of the BC Climate Anomaly App to generate precipitation, mean temperature, and soil moisture anomaly plots for the study area (BC Government 2024). This version of the app - located here allows for custom spatial inputs, enabling localized summaries served through the app locally.


Anomalies are calculated relative to 1981–2010 climate normals using ERA5-Land reanalysis data, regridded to ~30 km spatial resolution (@ Muñoz Sabater 2019). Trend direction and significance are assessed using the Mann-Kendall test and Theil-Sen slope estimator over the 1951–present period (BC Government 2024).


See Appendix 1 - Climate Anomaly Data for plots.

2.2 Skeena Knowledge Trust

The Skeena Knowledge Trust (SKT) serves as a centralized repository for data and information related to salmon and salmon habitat within the Skeena River watershed. To support informed decision-making, SKT provides access to a wide range of reports, datasets, and spatial information through its online platform. A summary of the available project packages and geospatial data can be found in Appendix 2, which provides an overview of key resources and their relevance to salmon conservation and habitat management in the region.

2.3 Water Quality

Water quality in the Neexdzi Kwah watershed has been the focus of multiple key studies, including among others - Nijman (1996), Remington and Donas (2000), Oliver (2020) and Westcott (2022b). The background information and resulting recommendations contained within these reports are critical for informing watershed recovery actions, as water quality has the potential to be a limiting factor for fish and fish food. This detailed documentation can also be leveraged to serve as a baseline dataset in which to compare current and future conditions. The reader is encouraged to source information directly from the aforementioned reports as the following summary has been simplified greatly.


The technical report by Nijman (1996) assessed the water quality of the Bulkley River headwaters, focusing on the impacts of the Equity mine, using available data on waste discharges, water quality, streamflows, and water use. It also identified water uses requiring protection and recommended provisional water quality objectives for the headwaters and downstream sections.


Remington and Donas (2000) put together the analysis of a significant amount of technical data related water, sediment and periphyton samples collected from November 1997 to March 2000 by the Habitat Restoration and Salmonid Enhancement Program (Fisheries and Oceans Canada) and others. Nutrients monitored included total phosphorus (TP), soluble orthophosphorus (SRP), ammonia, nitrate, organic nitrogen and total dissolved nitrogen. Periphytic algae was measured at nine sites September 1999 by Remington Enviromnental. Substrate composition and interstitial dissolved oxygen measurement was also conducted at three sites in the upper Bulkley River mainstem as well as one site within Maxan Creek. Reporting from the project noted that the Neexdzi Kwah watershed has easily erodible glacial-fluvial and glacial-lacustrine soils and unusually high soluble phosphorus concentrations compared to other Skeena watershed streams, making it particularly vulnerable to eutrophication from nitrogen loading linked to septic, agriculture and livestock. They recommended a long-term, cost-effective ecosystem health monitoring strategy, incorporating water quality, periphyton, and benthic invertebrate bioassessment. Monitoring nutrients and algae was highlighted as a key approach to track changes over time, assess restoration success, and identify long-term trends within the upper Bulkley River mainstem and major tributaries to better target remedial actions.

2.4 Fisheries

2.4.1 Neexdzii Kwah

Traditionally, the salmon stocks passing through and spawning in the greater Bulkley River were the principal food source for the Gitxsan and Wet’suwet’en people living there (Wilson and Rabnett 2007). Anadromous lamprey passing through and spawning in the upper Neexdzii Kwah were traditionally also an important food source for the Wet’suwet’en (A. Gottesfeld and Rabnett (2007); pers comm. Mike Ridsdale, Environmental Assessment Coordinator, Office of the Wet’suwet’en). A. Gottesfeld and Rabnett (2007) report sourceing information from Department of Fisheries and Oceans (1991) that principal spawning areas for chinook in the Neexdzii Kwah include the mainstem above and below Buck and McQuarrie Creeks, between Cesford and Watson Creeks, and the reaches upstream and downstream of Bulkley Falls.


Renowned as a world class recreational steelhead and coho fishery, the greater Bulkley River downstream of Neexdzii Kwah receives some of the heaviest angling pressure in the province. In response to longstanding angler concerns with respect to overcrowding, quality of experience and conflict amongst anglers, an Angling Management Plan was drafted for the river following the initiation of the Skeena Quality Waters Strategy process in 2006 and an extensive multi-year consultation process. The plan introduces a number of regulatory measures with the intent to provide Canadian resident anglers with quality steelhead fishing opportunities. Regulatory measures introduced with the Angling Management Plan include prohibited angling for non-guided non-resident aliens on Saturdays and Sundays, Sept 1 - Oct 31 within the Bulkley River, angling prohibited for non-guided non-resident aliens on Saturdays and Sundays, all year within the Suskwa River and angling prohibited for non-guided non-resident aliens Sept 1 - Oct 31 in the Telkwa River. The Neexdzii Kwah is considered Class II water and there is no fshing permitted upstream of the Morice/Bulkley River Confluence (FLNRO 2013a, 2013b; FLNRORD 2019).


2.4.1.1 Upper Bulkley Falls

A detailed field assessment and write up regarding the upper Bulkley falls was conducted as part of fish passage restoration in the watershed - is presented in Irvine (2021) with a condensed summary here. The site was assessed on October 28, 2021 by Nallas Nikal, B.i.T, and Chad Lewis, Environmental Technician. The top of the falls is located at 11U.678269.6038266 at an elevation of 697m approximatley 11.3km downstream of Bulkley Lake and upstream of Ailport Creek. Within the Bulkley River immediately below the 12 - 15m high bedrock falls, channel width was 17.4m and the wetted width was 15.6m. Two channels comprised the falls. The primary channel was 20m long, had a channel/wetted width of 8.5m, a 16% grade and water depths ranging from 35 - 63cm. The secondary channel was 25m long, with channel/wetted widths of 7.5m, a grade of 12% and water depths ranging from 3 - 13cm (Irvine 2021).


Dyson (1949) and Stokes (1956) report substantial use of habitat above Bulkley Falls by steelhead, chinook, coho and sockeye utilization in the past (pre-1950) based on spawning reports. Both authors concluded that the Bulkley Falls pose a partial obstruction to migrating fish based on flow levels. Chinook, which migrate early in the summer when water levels are high, have been noted as able to ascend the falls in normal to high water years and in high water years it was thought that coho and steelhead could ascend. A. Gottesfeld and Rabnett (2007) report that the falls are almost completely impassable to all salmon during low water flows. Stokes (1956) reports that there was high value spawning habitat located within the first 3km of the Neexdzii Kwah from the outlet of Bulkley Lake.


Wilson and Rabnett (2007) reported thataApproximately 11.3 km downstream of the Bulkley Lake outlet and just upstream of Watson Creek, the upper Bulkley falls is an approximately 4m high narrow rock sill that crosses the Neexdzii Kwah, producing a steep cascade section. This obstacle to fish passage is recorded as an almost complete barrier to fish passage for salmon during low water flows. Wilson and Rabnett (2007) also reported that coho have not been observed beyond the falls since 1972.


2.4.1.2 Traditional Fishing Sites within the Neexdzii Kwah

Tables of sites as detailed in A. Gottesfeld and Rabnett (2007) as well as Wilson and Rabnett (2007) have been extracted from these original documents and are stored here. Traditional fishing areas located within the Neexdzii Kwah as documented by A. Gottesfeld and Rabnett (2007) have been spatialized, stored within a location (outside of the github and mergin repositories) and linked to within the collaborative GIS project.

# @wilson_rabnett2007FishPassage are detailed in Table \@ref(tab:tab-hist-sites).
# amazingly tabulizer is now not working with the new version of R.  We use tabulapdf now! (see Price 2014 extraction)
# Extract historical fishing sites
path <- "/Users/airvine/zotero/storage/8SUN8SYA/wilson_rabnett_2007_fish_passage_assessment_of_highway_16_and_cn_rail_in_the_bulkley_watershed.pdf"


##define the area to extract table from for first page

#you would run with this the first time
tab_trim <- tabulizer::locate_areas(path, 64)

##since we have done this before though - numbers below are results
 #      top      left    bottom     right 
 # 70.98383  84.16353 407.17779 521.81754
tab_trim <- list(c(70.98383,  84.16353, 407.17779, 521.81754 ))

names_cols <- c('Site Location', 'Tradional Site Name', 'Fish Species')

##extract the tables useing the areas you defined
table_raw <- tabulapdf::extract_tables(path,
                                       pages = seq(64,64),
                                        method = "lattice",
                                        area = tab_trim) %>% 
  pluck(1) %>%
  as_tibble() %>% 
  # funky column names so we slice the first row and set them as names
  slice(2:nrow(.)) %>% 
  dplyr::select(1:3) %>% 
  purrr::set_names(names_cols) ##should do this as input from "pages" part of the function

# burn out to csv for safe keeping
table_raw %>% 
  readr::write_csv('data/inputs_extracted/trad_fish_sites_wilsonrabnett2007FishPassage.csv')


path <- "/Users/airvine/zotero/storage/IQ89I7BK/gottesfeld_rabnett_2007_skeena_fish_populations_and_their_habitat.pdf"

#you would run with this the first time
tab_trim <- tabulapdf::locate_areas(path, 384)

tab_trim <- list(c(75.12685,  87.24851, 409.12454, 521.12677))

names_cols <- c('Site Location', 'Tradional Site Name', 'Fish Species')

##extract the tables useing the areas you defined
table_raw <- tabulapdf::extract_tables(path,
                                       pages = seq(384,384),
                                        method = "lattice",
                                        area = tab_trim) %>% 
  pluck(1) %>%
  as_tibble() %>% 
  # funky column names so we slice the first row and set them as names
  slice(2:nrow(.)) %>% 
  dplyr::select(1:3) %>% 
  purrr::set_names(names_cols) ##should do this as input from "pages" part of the function

# burn out to csv for safe keeping
table_raw %>% 
  readr::write_csv('data/inputs_extracted/trad_fish_sites_gottesfeld_rabnett2007FishPassage.csv')
readr::read_csv('data/trad_fish_sites_gottesfeld_rabnett2007FishPassage.csv') %>% 
  # dplyr::filter(stringr::str_detect(`Site Location`, "Buck|Maxan|McQuarrie|Bulkley Lake|Hwy.16")) %>% 
  arrange(`Tradional Site Name`) %>% 
  fpr::fpr_kable(caption_text = "Traditional fishing sites in the Neexdzii Kwah.  Adapted from Gottesfeld and Rabnett 2007.",
                 scroll = FALSE)

2.4.1.3 Salmon Stock Assessment Data

Fisheries and Oceans Canada stock assessment data was accessed via the NuSEDS-New Salmon Escapement Database System through the Open Government Portal with results presented in Table 2.1. A brief memo on the data extraction process is available in the memos directory.

dfo_sad_raw <- readr::read_csv('data/inputs_raw/All Areas NuSEDS.csv')
#names(dfo_sad_raw)

dfo_sad_tr <- readr::read_csv('data/inputs_raw/All Areas NuSEDS.csv') %>% 
  dplyr::filter(waterbody == "BULKLEY RIVER - UPPER" | waterbody == "MORICE RIVER") %>% 
  dplyr::filter(!is.na(total_return_to_river)) %>% 
  arrange(species, analysis_yr) %>% 
  dplyr::select(waterbody,
                species, analysis_yr, 
                total_return_to_river, 
                start_spawn_dt_from,
                peak_spawn_dt_from,
                end_spawn_dt_from, 
                accuracy,   
                precision,  
                index_yn,   
                reliability,    
                estimate_stage, 
                estimate_classification,    
                no_inspections_used,    
                estimate_method)

# started looking at GT
# dfo_sad_tr |> 
#   dplyr::filter(waterbody == "BULKLEY RIVER - UPPER") |> 
#   dplyr::select(-waterbody) |>
#   gt::gt() |>
#   gt::tab_options(table.font.size = 10) |> 
#   # gt::opt_interactive(page_size_default = 5, use_filters = TRUE, use_compact_mode = TRUE) |> 
#   gt::tab_caption(caption = md("Fisheries and Oceans Canada stock assessment data for the Bulkley River - Upper.  Data is filtered to only include records with total return to river data."))


dfo_sad_tr %>%
  dplyr::filter(waterbody == "BULKLEY RIVER - UPPER") |>
  dplyr::select(-waterbody) |> 
  fpr::fpr_kable(caption_text = "Fisheries and Oceans Canada stock assessment data for the Bulkley River - Upper.  Data is filtered to only include records with total return to river data.",
                 scroll = gitbook_on)
Table 2.1: Fisheries and Oceans Canada stock assessment data for the Bulkley River - Upper. Data is filtered to only include records with total return to river data.
species analysis_yr total_return_to_river start_spawn_dt_from peak_spawn_dt_from end_spawn_dt_from accuracy precision index_yn reliability estimate_stage estimate_classification no_inspections_used estimate_method
Chinook 1946 75 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1948 400 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1950 1000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1951 500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1952 1000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1953 800 05-AUG-53 15-AUG-53 15-SEP-53 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1954 1500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1955 900 22-AUG-55 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1956 1500 20-AUG-56 20-SEP-56 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1957 200 15-AUG-57 15-SEP-57 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1958 400 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1959 400 05-AUG-59 14-AUG-59 05-SEP-59 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1960 750 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1962 1500 15-AUG-62 10-SEP-62 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1963 2000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1964 2000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1965 800 18-AUG-65 31-AUG-65 15-SEP-65 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1966 300 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1967 200 15-AUG-67 30-AUG-67 10-SEP-67 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1968 125 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1969 1200 15-AUG-69 15-AUG-69 15-SEP-69 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1970 150 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1971 100 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1972 55 15-AUG-72 15-AUG-72 15-SEP-72 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1973 850 15-AUG-73 15-AUG-73 15-SEP-73 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1975 500 15-AUG-75 15-AUG-75 15-SEP-75 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1976 15 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1977 250 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1978 400 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1979 500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1980 500 15-AUG-80 15-SEP-80 15-SEP-80 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1981 250 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1982 100 15-AUG-82 15-AUG-82 15-SEP-82 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1983 400 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1984 200 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1985 350 20-AUG-85 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1986 450 15-AUG-86 20-AUG-86 10-SEP-86 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1987 250 15-AUG-87 30-AUG-87 30-SEP-87 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1988 1000 05-AUG-88 15-AUG-88 30-AUG-88 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1989 500 15-AUG-89 26-AUG-89 10-SEP-89 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1990 300 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1991 1200 16-AUG-91 26-AUG-91 09-SEP-91 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1992 1400 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1993 1100 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1994 400 LOW UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1995 350 LOW UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Chinook 1996 1027 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Chinook 1997 764 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1947 200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1948 1500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1949 2500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1950 2000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1951 1000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1952 2500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1953 5000 08-OCT-53 20-OCT-53 15-NOV-53 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1954 7500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1955 5000 06-OCT-55 26-OCT-55 30-NOV-55 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1956 7500 10-OCT-56 30-NOV-56 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1957 750 03-NOV-57 12-NOV-57 30-NOV-57 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1958 1500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1959 3500 20-OCT-59 10-NOV-59 15-DEC-59 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1960 3500 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1962 2500 30-SEP-62 25-OCT-62 10-NOV-62 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1963 300 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1964 200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1965 500 10-OCT-65 31-OCT-65 15-NOV-65 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1966 1000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1967 600 01-OCT-67 18-OCT-67 10-NOV-67 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1968 1000 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1969 1500 15-AUG-69 15-OCT-69 15-OCT-69 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1970 600 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1971 600 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1972 2500 15-SEP-72 15-OCT-72 15-NOV-72 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1973 1000 15-AUG-73 15-SEP-73 15-NOV-73 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1974 200 15-AUG-74 15-SEP-74 15-NOV-74 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1975 28 15-AUG-75 15-SEP-75 15-NOV-75 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1976 22 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1977 280 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1978 1200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Coho 1987 18 15-SEP-87 15-OCT-87 15-NOV-87 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1988 10 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1989 1500 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1990 965 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1991 300 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1992 80 HIGH UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1993 100 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1995 50 LOW UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Coho 1996 230 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1953 100 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1966 50 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1967 250 25-AUG-67 15-SEP-67 30-SEP-67 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Pink 1968 150 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1969 200 15-AUG-69 15-AUG-69 15-SEP-69 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1971 100 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1972 450 15-AUG-72 15-SEP-72 15-SEP-72 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1973 500 15-AUG-73 15-AUG-73 15-SEP-73 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Pink 1989 2 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Sockeye 1946 200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1947 75 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1960 200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1962 400 15-AUG-62 10-SEP-62 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1963 600 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1964 300 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1965 100 01-AUG-65 15-AUG-65 30-AUG-65 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Sockeye 1970 50 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1972 300 15-SEP-72 15-SEP-72 15-SEP-72 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1973 300 15-AUG-73 15-AUG-73 15-SEP-73 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1974 200 15-AUG-74 15-AUG-74 15-SEP-74 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1975 64 15-AUG-75 15-AUG-75 15-SEP-75 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1977 200 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1978 50 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1979 600 UNK UNK FINAL UNKNOWN Unknown Estimate Method
Sockeye 1983 25 UNK UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Sockeye 1987 12 01-JUL-87 01-AUG-87 01-AUG-87 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Sockeye 1989 9 MED UNK NEAR FINAL UNKNOWN Unknown Estimate Method
Sockeye 1995 20 LOW UNK NEAR FINAL UNKNOWN Unknown Estimate Method


dfo_sad_raw %>%
  ldfo_sad_plot_line("BULKLEY RIVER - UPPER", "total_return_to_river", "species", "analysis_yr", col_group_exclude = "Coho")


dfo_sad_raw %>%
  ldfo_sad_plot_line("BULKLEY RIVER - UPPER", "natural_adult_spawners", "species", "analysis_yr", col_group_exclude = "Coho")
# ### Morice River
# 
# Detailed reviews of Morice River watershed fisheries can be found in @bustard_schell2002ConservingMorice, @gottesfeld_etal2002ConservingSkeena, @schell2003BriefOverview, @gottesfeld_rabnett2007SkeenaFish, and @ilmb2007MoriceLand with a comprehensive review of water quality by @oliver2018Analysiswater Overall, the Morice watershed contains high fisheries values as a major producer of chinook, pink, sockeye, coho and steelhead.
# 
# #### Salmon Stock Assessment Data
# 
<!-- # Fisheries and Oceans Canada stock assessment data was accessed via the [NuSEDS-New Salmon Escapement Database System](https://open.canada.ca/data/en/dataset/c48669a3-045b-400d-b730-48aafe8c5ee6) -->
<!-- # through the [Open Government Portal](https://open.canada.ca/en) with results presented in Table \@ref(tab:tab-dfo-sad-tr-morice). A brief memo on the data extraction process is available in the [memos directory](https://github.com/NewGraphEnvironment/restoration_wedzin_kwa_2024/tree/main/memos). -->
dfo_sad_tr %>%
  dplyr::filter(waterbody == "MORICE RIVER") |>
  dplyr::select(-waterbody) |> 
  fpr::fpr_kable(caption_text = "Fisheries and Oceans Canada stock assessment data for the Morice River.  Data is filtered to only include records with total return to river data.",
                 scroll = gitbook_on)
#### Salmon Stock Assessment Data

dfo_sad_raw %>%
  ldfo_sad_plot_line("MORICE RIVER", "total_return_to_river", "species", "analysis_yr", col_group_exclude = "Coho", eval = FALSE)
dfo_sad_raw %>%
  ldfo_sad_plot_line("MORICE RIVER", "natural_adult_spawners", "species", "analysis_yr", col_group_exclude = "Coho")

2.4.1.4 Fish Species

Fish species recorded in the greater Bulkley River watershed group are detailed in Table 2.2 (MoE 2019). Summaries of fish species life history, biology, stock status, and traditional use are documented in Schell (2003), Wilson and Rabnett (2007), Allen Gottesfeld, Rabnett, and Hall (2002) and Office of the Wet’suwet’en (2013). Wilson and Rabnett (2007) discuss chinook, pink, sockeye, coho, steelhead and indigenous freshwater Bulkley River fish stocks within the context of key lower and upper Bulkley River habitats such as the Suskwa River, Station Creek, Harold Price Creek, Telkwa River and Buck Creek. Key areas within the upper Bulkley River watershed with high fishery values, documented in Schell (2003), are the upper Bulkley mainstem, Buck Creek, Dungate Creek, Barren Creek, McQuarrie Creek, Byman Creek, Richfield Creek, Johnny David Creek, Aitken Creek and Emerson Creek. Some areas of high fisheries values for chinook, sockeye and coho are noted in Bustard and Schell (2002) as McBride Lake, Nanika Lake, and Morice Lake watersheds.

# In the 1990's the Morice River watershed, @gottesfeld_rabnett2007SkeenaFish estimated that chinook comprised 30% of the total Skeena system chinook escapements. It is estimated that Morice River coho comprise approximatley 4% of the Skeena escapement with a declining trend noted since the 1950 in @gottesfeld_rabnett2007SkeenaFish Coho spawn in major tributaries and small streams ideally at locations where downstream dispersal can result in seeding of prime off channel habitats including warm productive sloughs and side channels. Of all the salmon species, coho rely on small tributaries the most [@bustard_schell2002ConservingMorice]. @bustard_schell2002ConservingMorice report that much of the distribution of coho into non-natal tributaries occurs during high flow periods of May - early July with road culverts blocking migration into these habitats.
fiss_species_table <- readr::read_csv('data/inputs_extracted/fiss_species_table.csv')

fiss_species_table |> 
  dplyr::select(-Morice) |> 
  fpr::fpr_kable(caption_text = 'Fish species recorded in the Bulkley River watershed groups.', 
                 footnote_text = 'COSEWIC abbreviations : 
                 SC - Special concern 
                 DD - Data deficient
                 NAR - Not at risk
                 E - Endangered
                 T - Threatened
                 
                 BC List definitions : 
                 Yellow - Species that is apparently secure 
                 Blue - Species that is of special concern
                 Exotic - Species that have been moved beyond their natural range as a result of human activity
                 ',
                 scroll = gitbook_on)
Table 2.2: Fish species recorded in the Bulkley River watershed groups.
Scientific Name Species Name Species Code BC List COSEWIC SARA Bulkley
Catostomus catostomus Longnose Sucker LSU Yellow Yes
Catostomus commersonii White Sucker WSU Yellow Yes
Catostomus macrocheilus Largescale Sucker CSU Yellow Yes
Chrosomus eos Northern Redbelly Dace RDC Yellow Yes
Coregonus clupeaformis Lake Whitefish LW Yellow Yes
Cottus aleuticus Coastrange Sculpin (formerly Aleutian Sculpin) CAL Yellow Yes
Cottus asper Prickly Sculpin CAS Yellow Yes
Couesius plumbeus Lake Chub LKC Yellow DD Yes
Entosphenus tridentatus Pacific Lamprey PL Yellow Yes
Hybognathus hankinsoni Brassy Minnow BMC No Status Yes
Lota lota Burbot BB Yellow Yes
Mylocheilus caurinus Peamouth Chub PCC Yellow Yes
Oncorhynchus clarkii Cutthroat Trout CT No Status Yes
Oncorhynchus clarkii Cutthroat Trout (Anadromous) ACT No Status Yes
Oncorhynchus clarkii clarkii Coastal Cutthroat Trout CCT Blue Yes
Oncorhynchus gorbuscha Pink Salmon PK Not Reviewed Yes
Oncorhynchus keta Chum Salmon CM Not Reviewed Yes
Oncorhynchus kisutch Coho Salmon CO Not Reviewed Yes
Oncorhynchus mykiss Rainbow Trout RB Yellow Yes
Oncorhynchus mykiss Steelhead ST Yellow Yes
Oncorhynchus mykiss Steelhead (Summer-run) SST Yellow Yes
Oncorhynchus nerka Kokanee KO Not Reviewed Yes
Oncorhynchus nerka Sockeye Salmon SK Not Reviewed Yes
Oncorhynchus tshawytscha Chinook Salmon CH Not Reviewed E/T/SC/DD/NAR (Nov 2020) Yes
Prosopium coulterii Pygmy Whitefish PW Yellow NAR (Nov 2016) Yes
Prosopium coulterii pop. 3 Giant Pygmy Whitefish GPW Yellow NAR (Nov 2016) Yes
Prosopium williamsoni Mountain Whitefish MW Yellow Yes
Ptychocheilus oregonensis Northern Pikeminnow NSC Yellow Yes
Pungitius pungitius Ninespine Stickleback NSB Unknown Yes
Rhinichthys cataractae Longnose Dace LNC Yellow Yes
Rhinichthys falcatus Leopard Dace LDC Yellow NAR (May 1990)
Richardsonius balteatus Redside Shiner RSC Yellow Yes
Salvelinus confluentus pop. 26 Bull Trout BT Blue NAR (Nov 2012) Yes
Salvelinus fontinalis Brook Trout EB Exotic Yes
Salvelinus malma Dolly Varden DV Yellow Yes
Salvelinus namaycush Lake Trout LT Yellow Yes
Arctic Char AC
Cutthroat/Rainbow cross CRS Yes
Dace (General) DC
Lamprey (General) L Yes
Minnow (General) C Yes
Mottled Sculpin CBA Yes
Salmon (General) SA Yes
Sculpin (General) CC Yes
Sucker (General) SU Yes
Whitefish (General) WF Yes
* COSEWIC abbreviations :
SC - Special concern
DD - Data deficient
NAR - Not at risk
E - Endangered
T - Threatened

BC List definitions :
Yellow - Species that is apparently secure
Blue - Species that is of special concern
Exotic - Species that have been moved beyond their natural range as a result of human activity

2.5 Restoration Philosophy

2.5.1 Process-based Restoration

Process-based restoration is a relatively new approach to river restoration and is based on the understanding that river form and function is driven by the physical, chemical, and biological processes that take place within them (Beechie et al. 2010). Together, these processes shape rivers and flood planes, which is known as a riverscape (Shahverdian et al. 2019). The goal of process-based restoration is to restore these processes to their the natural rates and magnitudes (essentially stage 0), which leads to the system restoring itself through biological processes and requires minimal corrective intervention Polvi and Wohl (2013). This approach is in contrast to traditional river restoration, which focuses on restoring uniform and static form to the river, such as the channel shape, and is often done through hard engineering and has high costs (Beechie et al. 2010). Principles of process-based restoration adapted from Beechie et al. (2010) are included in Table 2.3.

restoration_principles_pb %>% 
  fpr::fpr_kable(caption_text = restoration_principles_pb_caption, scroll = FALSE)
Table 2.3: Principles of process-based restoration adapted from Beechie et al. (2010). Developed with the aid of GPT-4 as tracked in this link https://chat.openai.com/share/fb0de9b0-0d79-40f8-aec4-a35ac14c1164.
Principle Description
Target root causes of habitat and ecosystem change Aim at the main factors causing ecosystem decline. Identify and try to reverse the impact of human activities on natural processes.
Tailor restoration actions to local potential Each section of a river or stream has its own set of natural features due to its geographic location and climate. Design restoration efforts to align with these inherent characteristics.
Match the scale of restoration to the scale of the problem The restoration effort should correspond to the extent of the issue. Localized problems, such as removal of vegetation by a riverbank, need targeted solutions. However, broader impacts like floodplain alteration due to railways, highways, and intensive farming, require numerous actions across the area. Restoring habitats for species that traverse large areas needs planning that covers their entire living range.
Be explicit about expected outcomes Restoring natural areas is a slow process, and it may take time to see the results. Natural ecosystems are always changing, and a single project might not lead to immediate, noticeable improvements. Setting clear, measurable goals is crucial for understanding the impact of restoration efforts.


Below is an example of process-based restoration using stage 0 methodology done at Deer Creek in Oregon, USA. In this project they filled in incised channels and added large wood to to the river to restore the natural floodplain elevation and re-establish multiple channels (Figure 2.4)(Meyer 2018). Although this project used relatively aggressive restoration techniques, they observed immediate improvements and the benefits were self-sustaining (Figure 2.5)(Meyer 2018).

knitr::include_graphics("fig/stage0_before_after.png")
An example of process-based restoration using stage 0 methodology to restored the natural floodplain elevation. In this project they filled in incised channels and added large wood to restore the natural floodplain elevation and re-establish multiple channels (Meyer, 2018).

Figure 2.4: An example of process-based restoration using stage 0 methodology to restored the natural floodplain elevation. In this project they filled in incised channels and added large wood to restore the natural floodplain elevation and re-establish multiple channels (Meyer, 2018).


knitr::include_graphics("fig/deer_creek_before_after.png")
Before and after restoration took place at Deer Creek, USA. They observed imediate improvements to the habitat and the benefits were self-sustaining (Meyer, 2018).

Figure 2.5: Before and after restoration took place at Deer Creek, USA. They observed imediate improvements to the habitat and the benefits were self-sustaining (Meyer, 2018).

Process-based restoration also includes many low-cost and low-tech restoration techniques. Resources are sourced from near-by areas, and the restoration is often done by hand, which makes it more accessible to a broad audience and can be done on a smaller scale (Shahverdian et al. 2019). The primary goal of low-tech restoration is to improve the health of as many riverscapes possible by “letting the system do the work” (Shahverdian et al. 2019).

Low-cost process-based restoration could be an applicable in the Upper Bulkely riverscape. Some examples of low-cost restoration techniques include:

  • Grazing management
  • Riparian planting
  • Post-assisted log structures (PALS)
  • Beaver damn analogs (BDAs)

Further examples of low-cost process-based restoration are available here.

2.5.2 Stage 0

The Stream Evolution Model (SEM) is used to understanding how the morphology of channels (such as rivers or streams) respond to disturbances like changes in base level, channelization, or alterations in flow and sediment regimes (Figure 2.6)(Cluer and Thorne 2014). An important features of the SEM is the inclusion of stage 0, which represents the state of the river before disturbances and is categorized as either an anastomosing wet woodland or an anastomosing grassed wetland (Figure 2.6)(Cluer and Thorne 2014).


knitr::include_graphics("fig/SEM_stages.png")
Cluer and Thorne’s (2014) stream evolution model which introduced stage 0, a stage that represents the state of the river before disturbances.

Figure 2.6: Cluer and Thorne’s (2014) stream evolution model which introduced stage 0, a stage that represents the state of the river before disturbances.


The SEM also assigns a hydrogeomorphic attributes and habitat and ecosystem benefits score to each stage (Figure 2.7). Stage 0 is the ultimate restoration goal, but the SEM suggests that there is a big difference in performance between disconnected and incised streams (stages 3-6) and connected streams (stages 7-1), and that stages 7-1 are the best targets for restoration because they have the highest ecosystem potential (Figure 2.7)(Cluer and Thorne 2014).

knitr::include_graphics("fig/SEM_hab_ben.png")
Habitat and ecosystem benifits as well as hydrogeomorphic attributes associated with each stage of the SEM, suggesting that stages 7-1 have the highest ecosystem potential (Cluer and Thorne, 2014).

Figure 2.7: Habitat and ecosystem benifits as well as hydrogeomorphic attributes associated with each stage of the SEM, suggesting that stages 7-1 have the highest ecosystem potential (Cluer and Thorne, 2014).


knitr::include_graphics("fig/benefits.png")
Examples of how a stage 0 stream can benifit the entire riverscape and play an important role in the biophysical interactions between organisms (Hauer et al., 2016).

Figure 2.8: Examples of how a stage 0 stream can benifit the entire riverscape and play an important role in the biophysical interactions between organisms (Hauer et al., 2016).