rmarkdown::render("populations.Rmd")
# or click the knit button in RStudio
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 6
)

Estimates of animal populations

library(pacea)
library(dplyr)

In pacea we include estimates of populations, including uncertainty, as calculated from recent stock assessments.

Currently, we have Pacific Hake and Pacific Herring, major components of the ecosystem, and Pacific Harbour Seals, the most abundant pinniped species in the Northeast Pacific. Click on links to jump to the relevant sections below.

NEW (since original release of pacea): we have updated the Pacific Hake estimates with those from the 2024 assessment, but retained the 2023 assessment's estimates within the package (as hake_biomass_2023 etc.). See below and the help files for more details. Also added total biomass of age-1 hake and recruitment deviations. And Pacific Herring was added in May 2024.

Pacific Hake {#hake}

Pacific Hake biomass

The hake biomass time series is saved as a tibble in pacea, as simply:

hake_biomass
tail(hake_biomass)

with the annual estimates given as median, low and high ends of the 95% credible intervals. Units are millions of tonnes of female spawning biomass at the start of the year, as documented in ?hake_biomass which also refers to ?hake_recruitment for full details and further background. For example, it is important to realise that the assessment considers a coastwide stock off the west coast of Canada and the United States.

To plot the time series of estimated coastwide biomass, simply do

plot(hake_biomass)

where the solid circles are the annual medians, with credible intervals given by the shaded regions (mostly reproducing Figure d in the latest assessment).

Note that the hake_biomass object also has class pacea_biomass:

class(hake_biomass)

such that the above command plot(hake_biomass) first looks to use our tailored function plot.pacea_biomass(), which gives the style of plot shown above. We use this approach for hake_recruitment and various other objects in pacea, to enable easy default plotting. All functions have help files, for example ?plot.pacea_biomass.

We now also include the total biomass of age-1 hake, due to its potential influence on hake recruitment Vestfals et al. (2023). Note this is total female and male biomass (not spawning only like hake_biomass), and credible intervals are not current easily available.

hake_total_biomass_age_1
tail(hake_total_biomass_age_1)

for which units are thousands of tonnes, and our default plot is

plot(hake_total_biomass_age_1)

Pacific Hake recruitment

The hake_recruitment object contains annual estimates of recruitment of age-0 fish

hake_recruitment
tail(hake_recruitment)

for which values are billions of age-0 fish, and our default plot is

plot(hake_recruitment)

The dots represent the medians, with blue bars showing the 95% credible intervals. This reproduces Figure f in the latest stock assessment (without some extra details).

Note that, as mentioned in ?hake_recruitment the most recent few years are very uncertain as they are not informed by data. In particular, the final year represents recruitment at the start of the year but has no data to inform it, and so should definitely not be used for any analyses (we include it as it is shown in the stock assessment; it also essentially represents the prior distribution used for recruitment).

The estimated uncertainty of recruitments is large, and so we also include scaled values that make it easier to compare years. The 2010 recruitment is the second largest in the time series (below only 1980's) and as such people have an intuition that it is large, and we can compare other years by looking at recruitment scaled by the 2010 recruitment:

hake_recruitment_over_2010
tail(hake_recruitment_over_2010)
plot(hake_recruitment_over_2010)

This shows the medians and 95% credible intervals (red lines) of the recruitment divided by that in 2010, which clearly shows that, for example, the 2014 is clearly smaller than the 2010 recruitment (highlighted by the green dashed line), which is not intuitive in the above plot(hake_recruitment) plot (see ?hake_recruitment_over_2010 for more details and motivation).

This approach somewhat scales out some of the uncertainty in the absolute scale of $R_0$, the mean unfished equilibrium recruitment. This is similarly seen by instead scaling recruitments by $R_0$, as

hake_recruitment_over_R0
tail(hake_recruitment_over_R0)
plot(hake_recruitment_over_R0)

Also now available are the log-scale recruitment deviations from the stock-recruitment curve (see ?hake_recruitment_deviations), which are sometimes used to look for environmental drivers, e.g. Vestfals et al. (2023):

hake_recruitment_deviations
tail(hake_recruitment_deviations)
plot(hake_recruitment_deviations)

Updates due to new stock assessments

Note that the Pacific Hake stock assessment is conducted annually at the start of each year, and these estimates will be updated in pacea by April each year. So estimates will change (particularly for the most recent years) as more data inform the stock assessment model. So hake_biomass, hake_recruitment etc. will be based on the most recent stock assessment (see ?hake_recruitment).

To ensure that estimates from previous assessments are still available in pacea (so you can ensure fully repeatable analyses that do not change when pacea is updated with the new estimates), we also save each assessment's estimates with the year appended; for example, hake_biomass_2023 and hake_biomass_2024 for the spawning biomass estimates from the 2023 and 2024 assessments. Similarly, we also save hake_recruitment_2023, hake_recruitment_2024, hake_recruitment_over_2010_2023, hake_recruitment_over_2010_2024, hake_recruitment_over_R0_2023, and hake_recruitment_over_R0_2024, plus similar objects and later years once they become available. See ?hake_recruitment for details and references. The above examples will work on all these objects, for example, the values and plot shown in the previous code chunk, but based on the 2023 assessment results, are:

hake_recruitment_over_R0_2023
tail(hake_recruitment_over_R0_2023)
plot(hake_recruitment_over_R0_2023)

Note how hake_recruitment_over_R0_2023 contains no estimate for the 2024 recruitment, but hake_recruitment does (although it is not actually informed by data, so should not be used in any analysis). And see how the (highly uncertain) 2020 and 2021 recruitment estimates changed somewhat from 2023 assessment to the 2024 assessment, due to updated data:

filter(hake_recruitment_2023, year %in% c(2020, 2021))
filter(hake_recruitment_2024, year %in% c(2020, 2021))

See page 13 of the 2024 assessment document for explanation.

Pacific Herring {#herring}

Pacific Herring results from the latest assessment (DFO 2024; SR 2024/001) are saved in a similar manner to those for Pacific Hake. The spawning biomass time series is saved as a tibble in pacea, as simply:

herring_spawning_biomass
tail(herring_spawning_biomass)

with the annual estimates given as median, low and high ends of the 90% credible intervals. Units are thousands of tonnes of female spawning biomass each year, as documented in ?herring_spawning_biomass which also refers to ?herring_recruitment for full details and further background. For example, it is important to know that these are 90% credible intervals (not 95% like for hake), units are thousands of tonnes (not millions like for hake), and are for males and females combined (not females only like for hake). As usual, do read the help files. (We included spawning in the name herring_spawning_biomass as we may also include total biomass at some point if available).

Results are included for the five major herring stock assessment regions: Haida Gwaii (HG), Prince Rupert District (PRD), Central Coast (CC), Strait of Georgia (SOG), and West Coast of Vancouver Island (WCVI). These are given in the region column, and to see values for just one region it is easy to filter:

filter(herring_spawning_biomass,
       region == "HG")

Built-in plotting functions have been developed, with the default being to plot all regions:

plot(herring_spawning_biomass)

where the solid circles are the annual medians, with credible intervals given by the shaded regions, matching the style used above for hake.

We have made it easy to plot results for just one region:

plot(herring_spawning_biomass,
     region = "PRD")

See ?plot.pacea_biomass_herring for options, such as title = "short" to use the region's acronym rather than full name.

The herring_recruitment object contains annual estimates of recruitment of age-2 fish

herring_recruitment
tail(herring_recruitment)

for which values are billions of age-2 fish, and our default plot is

plot(herring_recruitment)

This uses the same style of plot, with the dots represent the medians, with blue bars showing the 90% credible intervals. Again, it is easy (see ?plot.pacea_recruitment_herring) to plot just one of the regions:

plot(herring_recruitment,
     region = "SOG")

We aim to update herring_spawning_biomass and herring_recruitment annually as new assessments are conducted, and so have also saved the 2023 assessment's results as herring_spawning_biomass_2023 and herring_recruitment_2023, which will not change going forward as pacea is updated.

Pacific Harbour Seals {#harbourseal}

Estimated abundances for seven regions (and coastwide) were calculated by DFO (2022; SAR 2022/034), and are included in pacea as:

harbour_seals

tail(harbour_seals)

Estimates are for each region and for the coastwide population, reproducing Figure 3 of DFO (2022):

plot(harbour_seals)

Or just plot estimates for a single region:

plot(harbour_seals,
     region = "SOG")

For full details and reference see

?harbour_seals

We anticipate adding assessment output for other species soon, so stay tuned (check the NEWS). For zooplankton anomalies see the new zooplankton vignette: zooplankton.html.



pbs-assess/PACea documentation built on April 17, 2025, 11:36 p.m.