DOI: 10.5061/dryad.4b8gthtmt
title: Data from: Unexpected westward range shifts in European forest plants link to nitrogen deposition

description: Climate change is commonly assumed to induce species’ range shifts towards
 the poles. Yet, other environmental changes may affect the geographical
 distribution of species in unexpected ways. Here we quantify multi-decadal
 shifts in the distribution of European forest plants, and link these
 shifts to key drivers of forest biodiversity change: climate change,
 atmospheric deposition (nitrogen and sulphur) and forest canopy dynamics.
 Surprisingly, westward distribution shifts were 2.6 times more likely than
 northward ones. Not climate change, but nitrogen-mediated colonization
 events, possibly facilitated by the recovery from past acidifying
 deposition, best explain westward movements. Biodiversity redistribution
 patterns appear complex and are more likely driven by the interplay among
 several environmental changes than due to the exclusive effects of climate
 change alone.
description: Please see the methods description in the research article
 '<strong>Unexpected westward range shifts in European forest
 plants link to nitrogen deposition</strong>'
 (science.org/doi/10.1126/science.ado0878) by Pieter Sanczuk and
 coauthors.
description: # Data and Code associated with original research article: **Unexpected
 westward range shifts in European forest plants link to nitrogen
 deposition**
 [https://doi.org/10.5061/dryad.4b8gthtmt](https://doi.org/10.5061/dryad.4b8gthtmt) Range centroid positions and environmental change data were calculated from community composition data derived from baseline surveys recorded between 1933 and 1994 and paired resurveys carried out after the baseline surveys between 1987 and 2017 (median [min – max] inter-survey interval: 39 [13 – 67] years). We kindly ask you to refer to the original article and this data set when using any data or code. DOI of the research  article: science.org/doi/10.1126/science.ado0878 DOI data of the set: [https://doi.org/10.5061/dryad.4b8gthtmt](https://doi.org/10.5061/dryad.4b8gthtmt) ## Description of the data and file structure R scripts to reproduce the methods, analyses and source code of all figures. For all code provided, the aim of each R-file is described in the first few lines of each file, and at the bottom of the README file. Raw data on species centroid shifts and environmental change data are available. Definitions of the column names in the CSV-files: species_centroids.csv and species_centroids_incl_rare_species.csv: | **column name** | **content information** | | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | species | species name | | period | sampling period (B: baseline period; R: Resurvey periiod) | | nplots | number of plots where the species was observed | | lat.biot | latidude of centroid (projection: mollweide, esri:54009); missing value: NA | | lon.biot | longitude of centroid (projection: mollweide, esri:54009); missing value: NA | | alt.biot | altitude of centroid (variable not used); missing value: NA | | area | total area of distribution (variable not used);  missing value: NA | | time | abudnace-wheigthed average time beteween the baseline period and resurvey period;  missing value: NA | | distance.biot | absolute distance of shifts between baseline and resurvey centroid (km);  Data only for row containing 'Resuvey' ; missing value: NA | | bearing.biot | bearing of shift between baseline and resurvey centroid (decimal degrees);  Data only for row containing 'Resuvey' ; missing value: NA | | lon.clim | central longitude of the plot's grid cell (for Basline period) and central longitude of nearest grid cell with analog climatic conditions (for Resurvey period); projection: mollweide, esri:54009; missing value: NA | | lat.clim | central latitude of the plot's grid cell (for Basline period) and central latitude of nearest grid cell with analog climatic conditions (for Resurvey period); projection: mollweide, esri:54009; missing value: NA | | bearing.clim | bearing of climate analog shift (decimal degrees); missing value: NA | | clim.rate | rate of absolute climate analog shift (km/year); missing value: NA | | clim.rate.N | projected northward rate of climate analog shift (km north/year); missing value: NA | | clim.rate.E | projected eastward rate of climate analog shift (km east/year); missing value: NA | | clim.rate.sqrt | square root transformed rate of absolute climate analog shift (sqrtr\[km/year]); missing value: NA | | clim.rate.N.sqrt | square root transformed rate of northward climate analog shift (sqrtr\[km north/year]); data not used; missing value: NA | | clim.rate.E.sqrt | square root transformed rate of eastward climate analog shift (sqrtr\[km east/year]); data not used; missing value: NA | | N\_cum.tot.rate | Rate of the total nitrogen (oxidized and reduced) form wet and dry deposition (dry deposition accounted for deciduous temperate forest surface) between the baseline survey and the resurvey, divided by the inter-survey time interval (expressed in total kg ha-1 year-1); missing value: NA | | N\_cum.oxi.rate | Rate of the total reduced nitrogen form wet and dry deposition (dry deposition accounted for deciduous temperate forest surface) between the baseline survey and the resurvey, divided by the inter-survey time interval (expressed in total kg ha-1 year-1); missing value: NA | | N\_cum.red.rate | Rate of the total oxidised nitrogen form wet and dry deposition (dry deposition accounted for deciduous temperate forest surface) between the baseline survey and the resurvey, divided by the inter-survey time interval (expressed in total kg ha-1 year-1); missing value: NA | | N\_acid\_eq.rate | Rate of the total acidyfying depostion from Nitrogen (oxidized and reduced; sum of wet and dry deposition) between the baseline survey and the resurvey, divided by the inter-survey time interval (expressed in total Keq ha-1 year-1); missing value: NA | | NS\_acid\_eq.rate | Rate of the total acidyfying depostion from Nitrogen (oxidized and reduced; sum of wet and dry deposition); and sulfur deposition between the baseline survey and the resurvey, divided by the inter-survey time interval (expressed in total Keq ha-1 year-1); missing value: NA  | | canopy.change | percentage canopy cover increase between baseline and resurvey period; missing value: NA | | canopy.change.rate | rate of percentage canopy cover increase/year between baseline and resurvey period; missing value: NA | | biot.rate | absolute rate of species centroid shift (km / year); missing value: NA | | biot.rate.sqrt | square root transformed absolute rate of species centroid shift (sqrt\[km / year]); missing value: NA | | nordwardness.biot | cosine of bearing of shift; missing value: NA | | biot.rate.N | projected northward rate of centroid shift (km north/year) | | eastwardness.biot | sine of bearing of shift; missing value: NA | | biot.rate.E | projected eastward rate of centroid shift (km east/year); missing value: NA | | biot.distance | absolute distance of shifts between baseline and resurvey centroid (km);  Data only for row containing 'Resuvey' ; copy of column (distance.biot) missing value: NA | | biot.distance.sqrt | square-root transformed absolute distance of shifts between baseline and resurvey centroid (sqrt \[km]);  Data only for row containing 'Resuvey' ; missing value: NA | | biot.distance.N | projected nortward distance of shifts between baseline and resurvey centroid (km north);  Data only for row containing 'Resuvey' ; missing value: NA | | biot.distance.E | projected eastward distance of shifts between baseline and resurvey centroid (km east);  Data only for row containing 'Resuvey' ; missing value: NA | | region | biogeographic region of estimate (all = the entire study area)  | | process | demogrpahic process considered ( all processes together; vs. exinction vs colonization centroids) | | | | | | | ## Code/Software R scripts to reproduce the methods, analyses and source code of all figures in the research article, including R functions for climate analogue mapping Please see the methods description available in the original research article '**Unexpected westward range shifts in European forest plants link to nitrogen deposition**' by Pieter Sanczuk and coauthors for more and detailed information. Please make a reference to the article and this data set when using any data or code. DOI of the research  article: science.org/doi/10.1126/science.ado0878 DOI data of the set: [https://doi.org/10.5061/dryad.4b8gthtmt](https://doi.org/10.5061/dryad.4b8gthtmt) For all R code provided, the aim of each R-file is described in the first few lines of each file, and in this scheme: | **R-code filename** | **code description** | | :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | R\_0\_Figure\_S2\_plot\_climate\_analogues.R | Code related to Figure S2 \| Climate analogue mapping integrating three bioclimate variables. Figure S2 | | R\_0\_FUN\_climate\_analogs.R | Function to calculate climate analogues for each plot location bases on 3 climate variables | | R\_0\_FUN\_climate\_stack.R | Function generating monthly mean rasterstacks of climate data for brick files | | R\_0\_RUN\_climate\_analogues.R | Process climate data and run climate analogue function for each of 2,954 plot locations in  the study | | R\_1\_species\_cover\_environment\_data\_processing.R | Extract and process environmental change data and add to vegetation data set, calculate rates of nitrogen and acidifying deposition, and canopy cover changes per plot | | R\_2\_FUN\_centroid\_calculations\_FINAL.R | Function to calculate species centroids at baseline survey and resurvey from vegetation resurvey data set. Calculate species-specific environmental change values, weigthed by the abundance in baseline survey period | | R\_3\_RUN\_centroid\_function\_Figures\_2-4.R | Run centroid function and plot results | | R\_4\_mixed-effects-modelling\_Figures\_3-S7-S8-S11-S12.R | Linear mixed effects modelling to link centroid shifts to environmental change values (PART A); and variation partitioning analyses (PART B); Plotting results. Figures 3, S7, S11 and S12 | | R\_5\_mixed-effects-modelling\_ACID\_DEP\_Figure\_S8.R | Linear mixed effects modelling to link centroid shifts to environmental change values (acidifying depostion to replace nitrogen deposition). Plotting results. Figure S8 | | R\_6\_regressions\_Ndep\_EIVE-niche\_width-Figures-5-S13-S14-S15.R |  ART A: plot nitorgen deposition gradient across study area (Figure S15); Part B: test interaction effects between Nitrogen deposition and nitrogen niche width OR reaction niche width and acidifying depostion on colonization distances (Figures 5, S13, S14, S15) | | R\_7\_RUN\_centroid\_function\_null\_model.R | Run centroid function for (i) bootstrap estimates and; (ii) null model. Iterate null-model and bootstrap estimates 1000 times | | R\_8\_null\_model\_vs\_bootsrapped\_shifts\_Figure\_S5.R | Plot output of null model and bootstrapped centroid shifts and quantitative comparison. Figure S5 | | R\_9\_Figure\_1.R | Spatial and environmental gradients of the study. all data shown in Figure 1 | | R\_10\_pH\_analyses\_Figure\_S16.R | Soil-pH quantifiaction across plot network | | windroseFUNCTION.R | R function to generate windrose plots |