DOI: 10.5061/dryad.cnp5hqcg9
title: Data and code for case study bridging macroecology and temporal dynamics to better attribute global change impacts on biodiversity

description: The ongoing biodiversity crisis presents a complex challenge for
 ecological science. Despite a consensus on general biodiversity decline,
 identifying clear trends remains difficult due to variability in data,
 methodologies, and scales of analysis. To enhance our understanding of
 ongoing biodiversity changes and address discrepancies in biodiversity
 trend detection, we propose integrating macroecological theory with
 temporal and trait-based perspectives. First, analyzing temporal changes
 in diversity scaling relationships, such as species accumulation curves or
 distance decay, can reconcile and synthesize conflicting observations of
 biodiversity change, enabling quantification of diversity shifts from
 local to regional spatial scales. Second, diversity patterns across scales
 are linked to three proximate components: abundance, evenness, and spatial
 aggregation of species. Investigating temporal changes in these components
 provides deeper insights into how human activities directly influence
 biodiversity trends. Third, incorporating species traits into the analysis
 of these macroecological patterns improves our understanding of human
 impacts on biodiversity by elucidating the links between species
 characteristics and their responses to environmental changes. We
 illustrate this integration in a case study of forest and farmland birds
 in France, highlighting how studying diversity changes across scale, and
 decomposing temporal change in different components, can help to elucidate
 the mechanisms driving diversity change. We discuss the limitations and
 challenges of this integrative approach and highlight how it offers a
 comprehensive framework for understanding the drivers of biodiversity
 change across scales. This framework facilitates a more nuanced
 understanding of how human activities impact biodiversity, ultimately
 paving the way for more informed actions to mitigate biodiversity loss
 across spatial and temporal scales.
description: Bird community data were from the French Breeding Bird Survey.
 The French breeding bird survey was designed to monitor population
 dynamics of common passerine bird species in France. In this survey,
 skilled volunteer ornithologists count birds at a given site, following a
 standardized protocol, at the same site, year after year (Jiguet et al.
 2012). Species abundances are recorded across 2792 sites, each covering a
 4km² area. Volunteers provide their home locality to the national
 coordinator, and a 2×2 km site is randomly selected from within a 10 km
 radius (out of 80 possible sites) by the coordinator. Each spring,
 volunteers carry out 10 point counts separated by at least 300 m within
 the selected site, for a fixed period of five minutes. Two sampling
 sessions are carried out from 1 April to 8 May, and then from 9 May to the
 end of June, to detect both early and late breeders, with a gap of 4–6
 weeks between sessions. Counts are repeated annually on approximately the
 same date (±7 days) and at dawn (1–4 h after sunrise) by the same
 observer, in the same order. The highest count from these two sessions is
 used as the measure of point-level species abundance. We sub-selected
 sites that were monitored between 2002 and 2013, in order to avoid the
 first year of the restructured monitoring scheme (i.e 2001), and to limit
 our analyses to linear trends, more likely to characterize decadal
 dynamics. We used the latest PECBMS classification (https://pecbms.info/)
 to classify farmland and forest species according to their pre- dominant
 habitat. Climatic data were extracted from CHELSA
 (https://chelsa-climate.org/, v.2.1) for each site and each sampling year.
 We computed the average daily temperature and precipitation during the
 bird breeding season (April - August). Land cover data were extracted from
 CORINE Land Cover (European Environment Agency 2010). Percentage land
 covers within FBBS site were computed by taking the habitat class area (in
 square meters) and dividing it by the total area of the site. Because CLC
 data were available only for 2000, 2006, 2012 and 2018, some FBBS
 site-year combinations were not covered by the dataset. In this case, we
 attributed site land cover for the uncovered year to the last year for
 which we had CLC data available (for example, sites monitored in 2001 were
 attributed land cover from CLC 2000). More specifically, we focused on two
 aggregated CLC classes, agricultural areas and forests.
description: # Data and code for case study bridging macroecology and temporal dynamics
 to better attribute global change impacts on biodiversity
 [https://doi.org/10.5061/dryad.cnp5hqcg9](https://doi.org/10.5061/dryad.cnp5hqcg9) **Author:** Gazre Pierre (2025) #### Overview This repository, archived in "MacroEcoDynamics_repo.tar," contains data and code to replicate all analyses (simulations and case study) presented in the paper. The repository has folders : * **figures**, an empty folder where figures created will be stored * **code_outputs**, an empty folder where intermediate. The R data files created will be stored * **code**, which contains R scripts detailed below * **data**, which contains the following data files #### Data file inventory (data folder) | file name | format | key content | | -------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------- | | `Habitat_class_PECBMS.csv` | CSV (semicolon delimiter) | Mapping of each PECBMS species to one of three habitat classes (`Forest`, `Farmland`, `Other`). | | `div_sites.Rdata` | R binary workspace (`.Rdata`) | Data frame `div_sites` with four habitat diversity indices (2000, 2006, 2012, 2018) and plot coordinates. | | `div_sites_clc.Rdata` | R binary workspace | Data frame `div_sites_clc`; same as `div_sites` plus dominant CORINE class of each plot. | | `cover_sites.Rdata` | R binary workspace | Longformat `cover_sites` listing proportional cover of four aggregated landcover categories for each plot and year. | | `clim_sites.Rdata` | R binary workspace | Annual time series `clim` with temperature and precipitation (plus oneyear lags) for each plot. | | `sites_coord.Rdata` | R binary workspace | Data frame `sites_coord` providing plot identifiers and coordinates. | #### Detailed data descriptions **1`Habitat_class_PECBMS.csv`** * observations: one row per species * variables * `species` scientific name following PECBMS taxonomy (character) * `habitat_class` `Forest`, `Farmland` or `Other` (character) **2`div_sites.Rdata`** **object** **`div_sites`** | variable | type | description | | ---------------------------------------------- | ------- | ----------------------------------------------------------- | | `site` | factor | unique 5digit plot code | | `x_etrs89`, `y_etrs89` | numeric | coordinates in ETRS89LAEA Europe (m) | | `x_wgs84`, `y_wgs84` | numeric | longitude / latitude (; EPSG4326) | | `div_2000`, `div_2006`, `div_2012`, `div_2018` | numeric | habitat diversity (Simpson index) for four CORINE snapshots | **3`div_sites_clc.Rdata`** **object** **`div_sites_clc`** Same variables as `div_sites`, plus `clc_class` (factor): dominant CLC2018 level3 code (e.g. `211`=nonirrigated arable land). **4`cover_sites.Rdata`** **object** **`cover_sites`** Long format with one row per site cover category. | variable | description | | ----------------------------- | ------------------------------------------------------------------- | | `site` | plot identifier | | `my_code` | landcover category (`Agricultural`, `Artificial`, `Forest`, `Open`) | | `cover_2000``cover_2018` | percentage cover for four inventory years | | duplicated coordinate columns | convenience fields | **5`clim_sites.Rdata`** **object** **`clim`** Annual time series (20012022) with: | variable | unit | description | | -------------------- | --------------------- | ------------------- | | `tempK` | 0.1K | mean temperature 10 | | `temp` | C | mean temperature | | `precip` | mm | total precipitation | | `temp_1`, `precip_1` | lagged values (year1) | 
 
 | **6`sites_coord.Rdata`** **object** **`sites_coord`** Site identifiers
 and coordinates (see table above). STOC_2001_2019_noComma.txt : This
 dataset lists bird observations from 2007 in a single STOC-EPS survey
 square in department 01. It contains species list and individuals
 observed. All observations share the same location, altitude, and
 coordinates. #### Spatial reference All coordinates follow WGS84
 (EPSG4326). Cartesian operations used ETRS89LAEA Europe (EPSG3035). ####
 Temporal coverage * Land cover snapshots: 2000, 2006, 2012, 2018 (CORINE).
 * Climate: 20012022 (annual). * Habitat diversity: same four CORINE
 snapshots. #### File formats and software All `.Rdata` files were saved
 with **R4.4.0** using `compress = "xz"`. ```r
 load("div_sites.Rdata") # loads object 'div_sites' ```
 CSV file import example: ```r habitat &lt;-
 read.csv2("Habitat_class_PECBMS.csv", stringsAsFactors = FALSE)
 ``` #### Analysis scripts (code folder) Two commented R scripts accompany
 the dataset and reproduce all analyses in the manuscript. They are
 **optional** for reusing the raw data but ensure methodological
 transparency. * **`case_study_mob_STOC.R`** annotated workflow that *
 harmonises 20022013 STOCEPS bird counts and environmental covariates; *
 constructs *mobr* community objects for farmland and forest assemblages; *
 decomposes richness change into samplingdensity, SAD and spatial
 aggregation components (*deltastats*); * visualises multiscale richness
 trends and attributes environmental drivers; * caches intermediate results
 in `code_outputs/`. * **`simulations.R`** simulation study showing how
 changes in total abundance, evenness and spatial clumping modify
 biodiversity patterns. It * creates four artificial landscapes with
 *mobsim*; * samples them with identical quadrats; * fits Lomolino
 speciesaccumulation models, speciesarea curves and distancedecay
 relationships; * computes directional rarefaction metrics; * exports SVG
 figures used for conceptual illustrations. Both scripts were developed
 under **R4.2** with CRAN packages listed at their top. Random seeds are
 not fixed; reruns produce slightly different simulations but identical
 qualitative patterns. * **`function_accumulate_environment_multi. R`**:
 This function calculates environmental accumulation curves for different
 groups, variables, and methods. * It checks inputs, splits the dataset by
 a grouping variable, and for each group it builds site-ordering sequences
 (spatial or random). * Then it repeatedly (nrep times) accumulates
 environmental values according to these orders and averages the results.
 Finally, it returns a long-format data frame containing cumulative values
 for each group, method, variable, and sampling effort. #### Usage rights
 Creative Commons Zero (CC0). Please cite this dataset and the original
 sources (PECBMS, CopernicusCLC, EOBS) in derivative works. ####
 Acknowledgements We thank the PECBMS volunteers, the European Environment
 Agency for CORINE Land Cover, and the EOBS consortium for open climate
 data. #### Access information Other publicly accessible locations of the
 data: * [https://chelsa-climate.org/](https://chelsa-climate.org/)