Interannual rainfall variability promotes species coexistence primarily through relative nonlinearity in interaction strength
Data files
Jul 23, 2026 version files 10.14 MB
-
annualfluc_R4.zip
10.14 MB
-
README.md
4.11 KB
Abstract
Combating the effects of global change and biodiversity loss requires a deeper understanding of species coexistence across variable environments. Little is known, however, about how drivers of coexistence respond to environmental change. Using a greenhouse competition experiment, we examine how interannual rainfall variation influences competitive dynamics in an old-field annual plant community in southern China. We parameterize a competition model for eight species to assess coexistence outcomes under constant and variable rainfall conditions, partitioning variation-independent and variation-dependent mechanisms of coexistence. We show that species are more likely to coexist under variable rainfall conditions. Of the coexistence mechanisms examined, relative nonlinearity of the interaction strength most strongly promotes coexistence, followed by a lesser positive contribution from relative nonlinearity of the vital rates, while the interaction effect between these nonlinearities tends to destabilize coexistence. Our study provides novel evidence that rainfall variability promotes pairwise species coexistence in a multi-species plant community, driven primarily by the relative nonlinearity in interaction strength. These findings highlight the necessity of incorporating environmental variability into coexistence studies to better predict and manage biodiversity in a changing world.
Data Files (within annualfluc_R4.zip)
Heerkou_Pre.csv: Monthly rainfall data from 1901-2020.
| Column name | Description |
|---|---|
| Order | Row number |
| Year | Year (1901–2020) |
| Month | Month (1–12) |
| Tag | Year-month identifier, format YYMM |
| Pre | Monthly precipitation in 0.1 mm |
Competition.csv: Seed count data from competition experiments.
| Column name | Description |
|---|---|
| No | Row number (experiment ID) |
| Sp | Species code of focal species |
| Species | Species abbreviation of focal species |
| Survival | Survival status (1 = alive, 0 = dead) |
| num_seeds | Seed production (seeds per individual) |
| Block | Block number |
| Pot | Pot identifier combining density and species composition code |
| Pot_full | Full pot identifier |
| Raintype | Rainfall treatment |
| Density | Planting density (individuals per pot) |
| Composition | Species composititon |
| Culture | Planting type (Mono = monoculture, Co = mixture) |
| n_BIPI ~ n_LUHY | Number of each neighbor species around the focal species |
s_g_data.csv: Data on seed soil bank survival and germination rates.
| Column name | Description |
|---|---|
| focal | Focal species (species abbreviation) |
| raintype | Rainfall treatment type: 1 = WW (Consistent Wet), 2 = WD (Post-flood Dry), 3 = DW (Pre-flood Dry), 4 = DD (Consistent Dry) |
| g | Germination rate |
| s | Seed survival rate in soil |
Model Fitting
Ricker_model_fit.R: Fits the standard Ricker competition model.
Output: pars_ricker.csv, post1000.csv
Computation & Partitioning
igr_constant_1000.R: Calculates Invasion Growth Rates (IGR) under constant environment (draw 1000 samples from the posterior distribution).
Output: list.consistent_1000.rds
igr_partitioning_1000.R: Calculates Invasion Growth Rates (IGR) under fluctuating environment and performs mechanism partitioning for 1000 samples.
Output: par1000.csv, partitioning_1000.rds
Visualization
Visualization_6_scenarios.R: Comprehensive visualization of 6 different rainfall scenarios.
Output: [Figure 2, S5]
Partitioning_visualization.R: Visualizes the contribution of different coexistence mechanisms.
Output: [Figure 3, S6]
Possibility_change.R: Analyzes how the predicted probability of coexistence shifts across different rainfall scenarios.
Output: [Figure 4]
Rain_analysis.R: Visualization of rainfall patterns (1901-2020).
Output: [Figure S1, S2]
Parameters_visualization.R: Visualizes the posterior distributions of estimated alpha and lambda.
Output: [Figure S3]
Posterior_predictive_check.R: Observed vs. predicted seed counts for model validation.
Output: [Figure S7, S8]
