Data and code from: Strong variability in thermal performance across kelp species occupying different forest layers under sustained warming
Data files
Nov 10, 2026 version files 643.64 KB
-
Acclimation.csv
1.99 KB
-
Collections.csv
1.60 KB
-
FvFm.csv
589.57 KB
-
kelp_thermal_stats.R
11.92 KB
-
README.md
17.12 KB
-
Species_ID.csv
8.20 KB
-
Survival.csv
13.24 KB
Abstract
Kelp forests are structured by vertically stratified species forming canopy, mid-story, stipitate and prostrate layers, yet whether sustained warming erodes this structure through shared physiological limits or reshuffles dominance through contrasting responses among layers remains unresolved. We experimentally quantified thermal tolerance in eight Northeast Pacific kelps, two per structural group. Blades from adult sporophytes collected in California during winter and summer were exposed to sustained warming (13–25 °C), and survival, growth, photosynthetic performance and photophysiology quantified over the experimental period. The canopy kelps Macrocystis pyrifera and Nereocystis luetkeana were least thermally tolerant, followed by the prostrate Laminaria farlowii and Agarum fimbriatum, then the stipitate Pterygophora californica and mid-story Pelagophycus porra. In contrast, the mid-story Egregia menziesii and stipitate Eisenia arborea retained high survival and comparatively strong physiological performance at the highest temperatures. Collection season altered the rate of physiological decline in several species but did not consistently shift upper thermal limits. Response diversity was therefore as great within structural groups as among them, indicating that sustained warming may restructure kelp forests through shifts in species dominance rather than eliminating them outright, with some taxa maintaining habitat complexity and offering thermally resilient candidates for restoration.
Dataset DOI: https://doi.org/10.5061/dryad.ns1rn8q7m
Rosalie Harris, Dillon Dolinar, Katelyn Meyer, Natalie Zembsch, Jennifer Smith
Overview
Experimental measurements of the effects of sustained warming on the survival, growth and physiology of adult sporophyte tissue from eight kelp species. Seven species were collected in San Diego, California; Nereocystis luetkeana was collected at Big River, Mendocino County, California, because it does not occur in southern California. Collections were made in winter and summer 2025.
Tissue was acclimated for three days at collection temperature (13 °C winter; 16.5 °C summer), ramped by approximately 2 °C per day to five treatment temperatures (13, 16, 19, 22 and 25 °C), and held for a further 14 days once all treatments had reached target (21 days in total from the start of weighing; CONFIRM). Responses measured were survival, growth (wet weight), maximum quantum yield of photosystem II (Fv/Fm), and respiration and net photosynthesis (oxygen evolution).
This dataset accompanies the manuscript "Strong variability in thermal performance across kelp species occupying different forest layers under sustained warming" (submitted to Proceedings of the Royal Society B).
Files
| File | Description |
|---|---|
Collections.csv |
Field collection metadata |
Species_ID.csv |
Identifier for each experimental individual |
Acclimation.csv |
Daily set temperatures during acclimation and ramping |
FvFm.csv |
Maximum quantum yield of photosystem II |
Weights.csv |
Weekly wet weights (growth and survival) |
Oxygen_evolution.csv |
Respiration and net photosynthesis |
Survival.csv |
Summary counts of surviving individuals |
kelp_thermal_stats.R |
R script that reproduces every statistical model reported in the manuscript and supplementary tables |
Experimental design
Species (forest layer): Macrocystis pyrifera and Nereocystis luetkeana (canopy); Pelagophycus porra and Egregia menziesii (mid-story); Eisenia arborea and Pterygophora californica (stipitate); Laminaria farlowii and Agarum fimbriatum (prostrate).
Seasons: Two independent experiments. "Winter" and "Summer" refer to the cool and warm sampling periods defined by seasonal sea surface temperature, not calendar season (winter collections March–June 2025; summer collections September–December 2025).
Temperature treatments: 13, 16, 19, 22 and 25 °C.
Replication: Five biological replicates (individuals) per species × temperature × season.
Data files
All files are comma-separated values (UTF-8) exported from the original spreadsheet as values only. Missing values are blank cells. Dates are M/D/YYYY (US format); clock times are H:MM:SS (24-hour).
Collections.csv
Field collection metadata.
| Variable | Description |
|---|---|
| Season | Winter or Summer experiment |
| Round | Experimental round number |
| Species | Species name |
| Number individuals | Number of individuals collected |
| Site | Collection site |
| In-situ water temp | Water temperature at collection depth on the day of collection (°C) |
| Date | Collection date |
| Divers | Divers who collected the samples |
| GPS | Site coordinates |
Species_ID.csv
Identifier assigned to each experimental individual.
| Variable | Description |
|---|---|
| Species | Species name |
| Replicate | Biological replicate number (1–5) |
| Species_ID | Individual identifier: species code, temperature treatment and replicate (e.g. eis_arb_13_1) |
| Treatment | Temperature treatment (°C) |
| Round | Experimental round number |
Acclimation.csv
Daily temperature schedule for each treatment tank during acclimation and ramping.
| Variable | Description |
|---|---|
| Day | Day of the week |
| Date | Date |
| 13°C – 25°C | Set temperature for each treatment tank on that day (°C) |
| Round | Experimental round number |
| Season | Winter or Summer experiment |
FvFm.csv
Maximum quantum yield of photosystem II, measured with a Junior-PAM fluorometer after 15 min dark acclimation (CONFIRM: 15 or 25 min). Three technical replicates per individual per measurement day; the analysis averages them.
| Variable | Description |
|---|---|
| Season | Winter or Summer experiment |
| Date | Measurement date |
| Species | Species name |
| Replicate | Biological replicate number |
| Tech_rep | Technical replicate number (1–3) |
| Treatment | Temperature treatment (°C) |
| Round | Experimental round number |
| Species_ID | Individual identifier (may be blank; individuals are identified by Species, Season, Treatment and Replicate) |
| Day_since_collection | Days since field collection |
| Fv_Fm | Maximum quantum yield of PSII (dimensionless, 0–1) |
| Experiment_day | Day relative to the start of temperature exposure (negative values are acclimation) |
Weights.csv
Wet weights of each individual at the start of exposure (W0) and weekly thereafter (W1–W3). Used for both growth and survival. A wet weight of 0 indicates the individual had died.
| Variable | Description |
|---|---|
| Season | Winter or Summer experiment |
| Delta_time | T0 = initial weighing; TF = final weighing at which the individual was alive (blank for intermediate weighings) |
| Time_period | Weighing week: W0 (start of exposure), W1, W2, W3 |
| Species | Species name |
| Treatment | Temperature treatment (°C) |
| Replicate | Biological replicate number |
| ID | Individual identifier (species code, treatment, replicate). Reused across seasons, so individuals are uniquely identified by ID and Season together |
| Round | Experimental round number |
| Wet_weight | Blotted wet weight (g) |
| Days | Days since the W0 weighing |
| ID_Season | Season code (S = Summer, W = Winter) |
Growth is calculated as the percentage change in wet weight per day over the 21-day exposure:
growth (% per day) = ((W21 − W0) / W0) / 21 × 100
where W0 is the initial wet weight and W21 is the wet weight at W3. Individuals that died are assigned a wet weight of 0 from the time of death onward.
Survival is scored as alive if the individual was still alive at the final weighing (W3).
Oxygen_evolution.csv
Respiration (dark) and net photosynthesis (light) measured as change in dissolved oxygen in sealed chambers with optical oxygen sensors, at the start (T0) and end (TF) of exposure. Rows with Species = "Control" are blank chambers used to correct for background oxygen change. For 19 light incubations that ran past midnight, PP_Total_Time (and PP_Time_Converted for four Control rows) were recalculated from the start and end times, because the spreadsheet formula returned a negative duration; no other values were changed.
| Variable | Description |
|---|---|
| Season | Winter or Summer experiment |
| Time_period | T0 = start of exposure; TF = end of exposure |
| Date | Measurement date |
| Species | Species name, or Control for blank chambers |
| Treatment | Temperature treatment (°C) |
| Replicate | Biological replicate number |
| Chiller | Water bath used for the incubation |
| Species_ID | Individual identifier (often blank) |
| Wet_weight | Wet weight of tissue in the chamber (g) |
| Resp_Start_Time, Resp_End_Time | Start and end time of the dark incubation |
| Resp_Start_Temp, Resp_End_Temp | Chamber temperature at start and end of dark incubation (°C) |
| Resp_Start_DO, Resp_End_DO | Dissolved oxygen at start and end of dark incubation (mg L⁻¹) |
| Resp_Total_Time, Resp_Time_Converted | Dark incubation duration (h:mm:ss, and hours) |
| Resp_DO_Change | Change in dissolved oxygen during dark incubation (mg L⁻¹) |
| Resp_Control_Mean | Mean change in blank chambers during dark incubation (mg L⁻¹) |
| Resp_Final | Blank-corrected respiration rate (mg O₂ g⁻¹ FW h⁻¹) |
| PP_Start_Time … PP_Control_Mean | As above, for the light incubation |
| PP_Final | Blank-corrected net photosynthesis rate (mg O₂ g⁻¹ FW h⁻¹) |
| GPP_Final | Gross photosynthesis (mg O₂ g⁻¹ FW h⁻¹; not used in reported analyses) |
| PP_Resp_Ratio | Ratio of photosynthesis to respiration |
| Log_Ratio, Cube_root | Transformations of PP_Resp_Ratio (not used in reported analyses) |
| Notes | Observations recorded during measurement |
Survival.csv
Number of individuals alive on each monitoring day, by species, season and treatment. Summary data for reference; the survival analysis uses the individual-level data in Weights.csv.
| Variable | Description |
|---|---|
| Season | Winter or Summer experiment |
| Species | Species name |
| Treatment | Temperature treatment (°C) |
| Day_since_collection | Days since field collection |
| Survival_Count | Number of individuals alive |
| Total | Number of individuals in the treatment |
| Survival_Percent | Percentage alive |
Code: kelp_thermal_stats.R
Reproduces all statistical models in the manuscript and supplementary tables. Each model is fitted separately for each species. The script reads the CSV files listed above.
| Response | Model |
|---|---|
| Survival | Binomial GLM, survived ~ Season × Temperature; analysis of deviance (χ²) |
| Growth | Linear model, growth ~ Season × Temperature; ANOVA |
| Fv/Fm | Linear mixed model, Fv/Fm ~ Season × Temperature × Day + (1 | individual); ANOVA with Satterthwaite df |
| Respiration | Linear model, final respiration (TF) ~ Season × Temperature; ANOVA |
| Net photosynthesis | Linear model, final net photosynthesis (TF) ~ Season × Temperature; ANOVA |
To run: put the script and the CSV files in the same folder, set that folder as the working directory, and run Rscript kelp_thermal_stats.R (or source("kelp_thermal_stats.R") in R). Results print to the console and are saved as CSV files in outputs/, along with sessionInfo.txt.
Requirements: R (≥ 4.1) and the packages dplyr, tidyr, purrr, tibble, lme4 and lmerTest.
Data quality
Outliers resulting from equipment failure or recording errors were removed before analysis. Oxygen sensors were calibrated according to the manufacturer's recommendations, and treatment temperatures were monitored with HOBO loggers.
