27 Commercial Fisheries

Data Type: Tabular Data (within eco_indicators)

Spatial Scope: Maritimes

Duration 1970-2022

Source: Bundy et al. 2017

27.1 Introduction to Indicator

Commercial fishing is a major marine human activity in Atlantic Canada, with several high-value species present in the region. Fisheries landing data can indicate the pressure exerted on target groups, the pressure on communities, the trophic or ecosystem distributions of fishing pressure, and fisheries productivity. Landings can also indicate the pressure exerted on other species in the community via human disturbance, bycatch, and changes to species interactions.

Landings indicators are presented both as total landings in the community (Landings All), and landings per fished group (Bundy, Gomez, and Cook 2017).

27.2 View Data


library(tidyr)
library(plotly)
library(stringr)

plotly_df <- data@data %>% inner_join(global_cols2)

# function to create plot with dropdown menu ------------------------------
make_biomass_dropdown_plot <- function(df,
                                      year_col   = "year",
                                      region_col = "region",
                                      value_suffix = "_value") {

  # convert to long format
  long <- df %>%
    janitor::clean_names() %>%
    pivot_longer(
      cols = ends_with(value_suffix),
      names_to = "metric",
      values_to = "value"
    ) %>%
    # remove suffix
    mutate(
      metric = str_remove(metric, "_value")
    ) %>%
    # drop NAs (some regions don't have data for some variables or years)
    tidyr::drop_na(value)

  # find all metrics and regions
  metrics <- unique(long$metric)
  regions <- unique(long[[region_col]])
  

  # clean names for dropdown panels, helper
  pretty_label <- function(x) str_to_title(gsub("_", " ", x)) %>% gsub(" L$","",.)

  # build plot -----------------
  p <- plot_ly()

  # Add bar traces: metric1 has region1..K, metric2 has region1..K, ...
  for (metric_i in seq_along(metrics)) {
    m <- metrics[metric_i]

    for (region_i in regions) {
      dat <- long %>%
        filter(metric == m, .data[[region_col]] == region_i) %>%
        group_by(.data[[year_col]],color, region_group, region_group_label) %>%     # in case you have multiple rows per year
        summarise(value = sum(value), .groups = "drop") %>%
        arrange(.data[[year_col]])
      
        group_name <- unique(dat$region_group)
        color <- unique(dat$color)

      # If a region truly has no data for that metric, add an empty trace
      # (keeps trace indexing stable)
      if (nrow(dat) == 0) {
        dat <- tibble::tibble(!!year_col := integer(0), value = numeric(0))
      }

        p <- p %>% add_bars(
          data = dat,
          x = ~.data[[year_col]],
          y = ~value,
          name = as.character(region_i),
          legendgroup = group_name,
          legendgrouptitle = list(
            text =  ifelse(group_name == "ESS",
                           "Eastern Scotian Shelf Zones",
                           "Western Scotian Shelf Zones")),
          showlegend = (metric_i == 1),
          visible = (metric_i == 1),
          marker = list(color = color),
          hovertemplate = paste0("<b>", region_i,":</b> ","%{y:,.2s}<extra></extra>")      )
    }
  }

  n_regions <- length(regions)
  n_traces  <- length(metrics) * n_regions

  buttons <- lapply(seq_along(metrics), function(metric_i) {
    vis <- rep(FALSE, n_traces)
    shl <- rep(FALSE, n_traces)

    idx_start <- (metric_i - 1) * n_regions + 1
    idx_end   <- metric_i * n_regions
    vis[idx_start:idx_end] <- TRUE
    shl[idx_start:idx_end] <- TRUE

    list(
      method = "update",
      args = list(
        list(visible = vis, showlegend = shl),
        list(
          title = pretty_label(metrics[metric_i]),
          yaxis = list(title = paste0(pretty_label(metrics[metric_i])," (tonnes)"))
        )
      ),
      label = pretty_label(metrics[metric_i])
    )
  })

  p %>%
    layout(
      barmode = "stack",
      hovermode = "x unified",
      title = pretty_label(metrics[1]),
      xaxis = list(title = str_to_title(year_col), type = "category"),  # keep one bar per year
      yaxis = list(title = paste0(pretty_label(metrics[1])," (tonnes)"), fixedrange = TRUE),
      legend = list(
        x = 1.02, xanchor = "left",
        y = 1,    yanchor = "top",
        groupclick = "toggleitem",
        itemdoubleclick = FALSE
      ),
      updatemenus = list(list(
        type = "dropdown",
        x = 0, xanchor = "left",
        y = 1.15, yanchor = "top",
        buttons = buttons
      )),
      margin = list(r = 180, t = 80)
    )
}

# usage:
p <- make_biomass_dropdown_plot(plotly_df)
p <- p %>% config(displayModeBar= F)
  
p 

Figure 27.1: Commercial Fisheries Landings in Scotian Shelf regions; 1970-2022. Use dropdown box to select a target fishery, and click legend to isolate regions.

27.4 Relevance to Research and Stock Assessments

Total landings can lend insight to the pressures on stocks and marine ecosystems.

High landings indicate that many individuals were removed from the system and non-target species may have faced pressures from disturbance in fishing processes.

Low landings, alternatively, might indicate the removal of fishing pressure (particularly when fisheries are closed), or could indicate reduced catch per unit effort in the active stocks.

27.5 Variable Definitions

variable description unit
year Year of data collection
region Region in which landings are summarized
landings_{taxon}_value
or
landings_{taxon}.L_value
Biomass landed of selected taxa and region (tonnes)

27.6 Additional Data

Structural Change variables (within eco_indicators) contain data for 4VN, 4VS, 4W, 4X, ESS, and WSS. All are shown on this page, but note that NAFO zones are nested within Scotian Shelf regions.

27.7 Get the Data

library(marea)
data('eco_indicators')
plot(eco_indicators)

References

Bundy, Alida, Catalina Gomez, and Adam M. Cook. 2017. “Guidance Framework for the Selection and Evaluation of Ecological Indicators.” Canadian Technical Report of Fisheries and Aquatic Sciences 3232. Dartmouth, Nova Scotia, Canada: Fisheries; Oceans Canada, Bedford Institute of Oceanography. https://waves-vagues.dfo-mpo.gc.ca/Library/40648886.pdf.