Data from: Lagged climate-driven range shifts at species’ leading, but not trailing, range edges revealed by multispecies seed addition experiment
Abstract
Climate change is causing many species' ranges to shift upslope to higher elevations as species track their climatic requirements. However, many species have not shifted in pace with recent warming (i.e., ‘range stasis’), possibly due to demographic lags or microclimatic buffering. The ‘lagged-response hypothesis’ posits that range stasis disguises an underlying climatic sensitivity if range shifts lag the velocity of climate change due to slow colonization (i.e., colonization credits) or mortality (i.e., extinction debt). Alternatively, the ‘microclimatic buffering hypothesis’ proposes that small-scale variation within the landscape, such as canopy cover, creates patches of suitable habitat within otherwise unsuitable macroclimates that create climate refugia and buffer range contractions. We simultaneously test both hypotheses by combining a large seed addition experiment of 25 plant species across macro- and micro-scale climate gradients with herbaria records to compare patterns of seedling recruitment relative to adult ranges and microclimate in the North Cascades, USA. Despite high species-to- species variability in recruitment, community-level patterns monitored for five years supported the lagged response hypothesis, with a mismatch between where seedlings recruit vs. adults occur. On average, the seedling recruitment optimum shifted from the adult climatic range centre to historically cooler, wetter regions and many species recruited beyond their cold (e.g., leading) range edge. Meanwhile, successful recruitment occurred at warm and dry edges, despite recent climate change, suggesting that macroclimatic effects on recruitment do not drive trailing range dynamics. We did not detect evidence of microclimatic buffering due to canopy cover in recruitment patterns. Combined, our results suggest apparent range stasis in our system is a lagged response to climate change at the cool ends of species ranges, with range expansions likely to occur slowly or in a punctuated fashion.
README: Data from: Lagged climate-driven range shifts at species’ leading, but not trailing, range edges revealed by multispecies seed addition experiment
R Code and data for Goodwin et al. 2024. Lagged climate-driven range shifts at species’ leading, but not trailing, range edges revealed by multispecies seed addition experiment in Ecography DOI: 10.1111/ecog.07331
Sharing
Code and data are also available on github: https://github.com/katiegwin/lagged_range_shifts.git
Compiled data
CLseed_sitesclim_Normal_1981_2010Y.csv = Climate NA 1981-2010 normals for each study site
metadata_variables.csv = description of all variables in other data frames
microclimate.RData = measurements of microclimate for each replicate plot (3 per site).
occur_biome_clim_Normal_1981_2010Y.RData = climate NA 1981-2010 normals for each GBIF adult occurrence record
recruit_census.csv = yearly seedling census data at the replicate level for seed addition experiment (3 reps per site)
recruit_census.RData = yearly seedling census data at the replicate level for seed addition experiment (3 reps per site)
recruit_surv1yr.RData = data on whether or not recruits that germinated survived to their second year
recruit_surv2yrs.RData = data on whether or not recruits that germinated survived to their third year
recruit_survto2022.RData = data on whether or not recruits survived to 2022 (the end of the experiment)
siterangepositions.csv = description of where each seed addition site falls within each focal species climatic range
species_desc.csv = description of focal species
year2size.Rdata = data on mean height of each species in each plot in the first year of growth
Software
Lagged_*range_*shifts.zip = zipped folder containing all R code and data. Also available on github https://github.com/katiegwin/lagged_range_shifts.git
Scripts
1_climatic_range_position.R = quantify species climatic ranges from occurrence records
2_recruitment_optima_analysis.R = modelling where optimal recruitment is across climatic ranges
3_recruitment_edge_analysis.R = modelling recruitment at and beyond cold, war, dry, and wet edges
4_canopy_opt_analysis.R = modelling whether optimal recruitment changes with canopy cover
5_surv_height_analysis.R = modelling survival and growth following initial recruitment
6_speciesspecific.R = species-specific recruitment across the range
7_pretty_plots.R = putting all the figures together
bootstraps/ = folders of bootstrapping code to generate 95% confidence intervals for models to be run on a separate cluster server, since they take >24 hours.
Outputs
/bootstraps = bootstrap outputs used to calculate 95% CIs includes predictions and, where relevant, optima for each bootstraps
/final = where final figures are saved
/model = model predictions and 95% confidence intervals from analysis to be inputted into 7_pretty_plots.R to generate figures
Variables
description of all variables in data frames
variable | unit | description | |
---|---|---|---|
2 | c | % | % carbon content in soil, measured in UW lab (used for different study for details on these and all other microclimate variables see chardon et al 2024 ecography https://doi.org/10.1111/ecog.07144) |
3 | c_n | soil carbon:nitrogen ratio from lab analyses (Summer 2022) (used for different study) | |
4 | canopy | open or closed canopy cover site (binary) | |
5 | canopycont | % higher values = more open | canopy cover as a continuous variable, where 0 = closed and 100 = open canopy (mean of all the measurements taken from 2018-2019 for that rep) |
6 | elev | metres | elevation (m) |
7 | f_b | fungal:bacterial ratio, measured with microbiometer in field (used for different study) | |
8 | family | species family | |
9 | full_species | full latin species name (based on taxonomic status in 2020) | |
10 | func_group | functional group to which the species belongs (tree, shrub, forb, sedge) | |
11 | gbifID | unique gbif id from occurrence download | |
12 | h | % | % hydrogen content in soil, measured in UW lab (used for different study) |
13 | lat | latitude (WGS84 DATUM) | |
14 | long | longitude (WGS84 DATUM) | |
15 | MAP | mm | mean annual precipitation downloaded from climate NA (1981-2010) |
16 | MAT | ºC | mean annual temperature downloaded from climate NA (1981-2010) |
17 | meanmht | mm | mean height of seedlings for each species in a plot in first year of growth (up to three measured per cohort) |
18 | meanspp | mm | mean height in first year of growth for a given species across the entire expeirment (to standardize height) |
19 | microbes | microgram C/gram soil | bacterial biomass, measured with microbiometer in field (used for different study) |
20 | n | % | % nitrogen content in soil, measured in UW lab (used for different study) |
21 | new_all | counts | recruited any census year (sum of yearly counts, NA removed) main response variable |
22 | new18 | counts | total number of new individuals in final 2018 census |
23 | new19 | counts | total number of new individuals in final 2019 census |
24 | new20 | counts | total number of new individuals in final 2020 census |
25 | perc_bact | % | % bacterial content in soil sample, measured with microbiometer in field (used for different study) |
26 | perc_fung | % | % fungal content in soil sample, measured with microbiometer in field (used for different study) |
27 | plot_seeded | which quadrat seeds of that given species were added to (w and l) | |
28 | pptrange_pos | precipitation range position of that site for that species | |
29 | prop18surv20a | proportion | 2-year seedling survival (2018-2020) |
30 | propxxsurv22 | proportion | multi-year seedling survival (2018, 2019, 2020-2022) bc can't know when seedlings alive in 2022 germinated |
31 | region | RP = rainy pass (east side, drier), MB = mount baker (west side, wetter) | |
32 | rep | replicate seed plot set: a, b, or c | |
33 | sdpp | standard deviation of height in first year of growth for a given species across the experiment (to standardize height) | |
34 | site | site name (region - elevational transect location - site within elevation | |
35 | species | 6 letter code for the species | |
36 | stht | standardized mean height of seedlings for each species in a plot in first year of growth (standardized to species mean and standard deviation) | |
37 | surv18to19 | counts | germinated in 2018 and alive at final 2019 census |
38 | surv18to20 | counts | germinated in 2018 and alive at final 2020 census |
39 | surv19to20 | counts | germinated in 2019 and alive at final 2020 census |
40 | surv1yr | proportion | proportion seedling survival in 1 year transitions |
41 | surv22 | counts | number of seedlings that survived to census in Sept 2022 |
42 | t1_avg | ºC | seasonal average of soil temperature TMS (Summer 2022) |
43 | t1_max | ºC | maximum TMS soil temperature of Summer 2022 |
44 | t1_min | ºC | minimum TMS soil temperature of Summer 2022 |
45 | t1_range | ºC | seasonal range of soil temperature TMS (Summer 2022) |
46 | t2_avg | ºC | seasonal average of near-soil temperature TMS (Summer 2022) |
47 | t2_max | ºC | maximum TMS near-soil temperature of Summer 2022 |
48 | t2_min | ºC | minimum TMS near-soil temperature of Summer 2022 |
49 | t2_range | ºC | seasonal range of near-soil temperature TMS (Summer 2022) |
50 | t3_avg | ºC | seasonal average of plant height temperature TMS (Summer 2022) |
51 | t3_max | ºC | maximum TMS plant height temperature of Summer 2022 |
52 | t3_min | ºC | minimum TMS plant height temperature of Summer 2022 |
53 | t3_range | ºC | seasonal range of plant height temperature TMS (Summer 2022) |
54 | temprange_pos | thermal range position of that site for that species | |
55 | tmoist_avg | volumetric water content | seasonal average of soil moisture TMS (Summer 2022) |
56 | tmoist_range | volumetric water content | seasonal range of soil moisture TMS (Summer 2022) |
57 | whc | % | water holding capacity (% ) in soil sample, measured in UW lab (used for different study) |
58 | yr1 | 1 year transitions (i.e., from 2018 to 2019 or 2019 to 2020) for seedling survival | |
59 | MWMT | ºC | mean warmest month temperature (°C) downloaded from climate NA (1981-2010) |
60 | MCMT | ºC | mean coldest month temperature (°C) downloaded from climate NA (1981-2010) |
61 | TD | ºC | temperature difference between MWMT and MCMT, or continentality (°C) downloaded from climate NA (1981-2010) |
62 | MSP | mm | mean annual summer (May to Sept.) precipitation (mm) downloaded from climate NA (1981-2010) |
63 | AHM | annual heat-moisture index (MAT+10)/(MAP/1000)) downloaded from climate NA (1981-2010) | |
64 | SHM | summer heat-moisture index ((MWMT)/(MSP/1000)) downloaded from climate NA (1981-2010) | |
65 | DD<0 (or DD_0) | degree-days below 0°C, chilling degree-days downloaded from climate NA (1981-2010) | |
66 | DD>5 (or DD5) | degree-days above 5°C, growing degree-days downloaded from climate NA (1981-2010) | |
67 | DD<18 (or DD_18) | degree-days below 18°C, heating degree-days downloaded from climate NA (1981-2010) | |
68 | DD>18 (or DD18) | degree-days above 18°C, cooling degree-days downloaded from climate NA (1981-2010) | |
69 | NFFD | the number of frost-free days downloaded from climate NA (1981-2010) | |
70 | FFP | frost-free period downloaded from climate NA (1981-2010) | |
71 | bFFP | the day of the year on which FFP begins downloaded from climate NA (1981-2010) | |
72 | eFFP | the day of the year on which FFP ends downloaded from climate NA (1981-2010) | |
73 | PAS | mm | precipitation as snow (mm). For individual years, it covers the period between August in the previous year and July in the current year downloaded from climate NA (1981-2010) |
74 | EMT | ºC | extreme minimum temperature over 30 years (°C) downloaded from climate NA (1981-2010) |
75 | EXT | ºC | extreme maximum temperature over 30 years (°C) downloaded from climate NA (1981-2010) |
76 | Eref | mm | Hargreaves reference evaporation (mm) downloaded from climate NA (1981-2010) |
77 | CMD | mm | Hargreaves climatic moisture deficit (mm) downloaded from climate NA (1981-2010) |
78 | MAR | mean annual solar radiation (MJ m‐2 d‐1) downloaded from climate NA (1981-2010) | |
79 | RH | mean annual relative humidity (%) downloaded from climate NA (1981-2010) | |
80 | CMI | mm | Hogg’s climate moisture index (mm) downloaded from climate NA (1981-2010) |
81 | DD1040 | degree-days above 10°C and below 40°C downloaded from climate NA (1981-2010) | |
82 | ECO_NAME | ecoregion name from GBIF | |
83 | year (GIBF) | year of GBIF ocurrence record | |
84 | stateProvince | state or province of GBIF ocurrence record | |
85 | verbatiumElevaiton | elevation of GBIF occurrence record | |
86 | coordinateUncertaintyinMeters | ucoordinate uncertainty for GBIF record | |
87 | elevation | elevation of GBIF occurrence record | |
88 | elevationAccuracy | elevational accuracy of GBIF occurrence record | |
89 | longitude | longitude of GBIF occurrence record | |
90 | latitude | latitude of GBIF occurrence record | |
91 | geometry | latitude and longitude of gbif occurrence record for mapping |