Measured d34S in otoliths of juvenile salmon to test if these archival biominerals could be used to reconstruct floodplain use.

bt.belltilcock.2021b

Format

The data frame 99 × 8 contains the following columns:

fish_idcharacterfish identifier
samplecharactersample identifier
spot_numbercharacterspot number
ageintegerage of fish
distancenumericdistance from otolith ventral edge to dorsal edge
spot_designationcharacterspot designation
d34scor_vcdtnumericotolith sulfur isotope (d34S)
w_std_err_95t_permilnumericstandard error of otolith sulfur isotope(d34S)

Details

It is suggested that otolith d34S can be used to differentiate floodplain and river rearing habitats used by native fishes, such as chinook salmon, across different hydrologic conditions and tissues, and provide a toolset to quantify the role of floodplains as fish habitats.

Instrument: EA-IRMS (elemental analyzer–isotope ratio mass spectrometry)

Source

Bell-Tilcock, M., Jeffres, C. A., Rypel, A. L., Willmes, M., Armstrong, R. A., Holden, P., ... & Johnson, R. C. (2021). Biogeochemical processes create distinct isotopic fingerprints to track floodplain rearing of juvenile salmon. PloS One, 16(10), e0257444. https://doi.org/10.1371/journal.pone.0257444

Data and code availability are available at https://doi.org/10.5281/zenodo.5514074

Traversing the paper's information via Semantic Scholar ID ea858d445cd8148d36b138a4602ea0a084d4b070 using S2miner package

Author

Liuyong Ding, ly_ding@126.com

Concepts

otolith, stable isotope, d34S

Examples

### copy data into 'dat'
dat <- bt.belltilcock.2021b
tibble::tibble(dat)
#> # A tibble: 99 × 8
#>    fish_id  sample spot_number   age distance spot_designation d34scor_vcdt w_std_err_95t_permil
#>    <chr>    <chr>  <chr>       <int>    <int> <chr>                   <dbl>                <dbl>
#>  1 NP163500 CH-1   CH-1-EDGE      NA     -440 River                    5.67                0.879
#>  2 NP163500 CH-1   CH-1.2         NA     -400 Transition               8.26                0.956
#>  3 NP163500 CH-1   CH-1.3         NA     -360 Hatchery                13.5                 1.06 
#>  4 NP163500 CH-1   CH-1.4         NA     -320 Hatchery                13.6                 1.23 
#>  5 NP163500 CH-1   CH-1.5         NA     -280 Hatchery                13.9                 0.898
#>  6 NP163500 CH-1   CH-1.6         NA     -240 Hatchery                14.1                 1.50 
#>  7 NP163500 CH-1   CH-1.7         NA     -200 Hatchery                15.8                 1.21 
#>  8 NP163500 CH-1   CH-1.8         NA     -160 Hatchery                15.1                 1.13 
#>  9 NP163500 CH-1   CH-1.9         NA     -120 Hatchery                13.4                 1.02 
#> 10 NP163500 CH-1   CH-1.10        NA      -80 Hatchery                16.5                 0.984
#> # ℹ 89 more rows

if (FALSE) {
### sulfur profile figure
library(dplyr)
library(ggplot2)
library(lemon)

### Prepare profiles for figure
dat |>
  group_by(fish_id, spot_designation) |>
  mutate(
    region_average = mean(d34scor_vcdt, na.rm = TRUE),
    region_sd = sd(d34scor_vcdt, na.rm = TRUE)
  ) |>
  ungroup() -> dat

ggplot(data = dat) +
  annotate("rect",
    ymin = -0.29, ymax = 4.71,
    xmin = -Inf, xmax = Inf, fill = "steelblue3", alpha = .1
  ) +
  annotate("rect",
    ymin = -5.74, ymax = -1.2,
    xmin = -Inf, xmax = Inf, fill = "forestgreen", alpha = .1
  ) +
  geom_smooth(aes(x = distance, y = d34scor_vcdt, group = Fish_ID),
    span = 0.2, color = "grey95", fill = "grey95", alpha = 0.5
  ) +
  geom_pointrange(aes(
    x = distance, y = d34scor_vcdt, ymax = d34scor_vcdt + w_std_err_95t_permil,
    ymin = d34scor_vcdt - w_std_err_95t_permil,
    fill = spot_designation
  ), shape = 21, color = "black") +
  theme_classic() +
  theme(
    panel.background = element_rect(colour = "black"),
    legend.position = "bottom",
    legend.title = element_blank(),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    strip.background = element_blank()
  ) +
  scale_x_continuous("Distance from otolith ventral edge to dorsal edge(µm)") +
  scale_y_continuous(
    name = expression(paste(delta^"34", "S"["Otolith"], " [‰ VCDT]")),
    breaks = scales::pretty_breaks(n = 5)
  ) +
  scale_fill_manual(values = c(
    "firebrick", "palegreen3",
    "orange", "steelblue", "grey"
  )) +
  facet_rep_wrap(~ fish_id, ncol = 1, repeat.tick.labels = "all")
}