DOI: 10.5061/dryad.m905qfvd2
title: Soft range limits shape sensitivity to forest cover more strongly than hard range limits

description: Land-use change is a major threat to biodiversity, yet there remains
 considerable unexplained variation in how it affects different populations
 of the same species. Here, we examine how sensitivity to forest cover
 changes depending on proximity to different limits of a species’ range. By
 comparing responses as species approach their coastal (‘hard’) and inland
 (‘soft’) range limits, we aim to provide insight into the relative
 influence of mass effects, as compared to abiotic and biotic environmental
 suitability in shaping population sensitivity. We combine data from
 several large databases to obtain a dataset of 2,543 bird species surveyed
 across 116 studies, spanning six continents. Using expert-verified range
 maps, we calculated the position of populations relative to their species’
 nearest inland (‘soft’) and coastal (‘hard’) range limits and categorized
 the inland limits as equatorward- or poleward-facing. We investigated how
 distance to range limits and forest cover, derived from a 30m-resolution
 global dataset, affect the probability of species’ incidence. We found
 that bird populations are more sensitive to forest cover when located
 closer to their species’ inland (‘soft’) range limits, whereas this was
 not the case at coastal (‘hard’) range limits. The heightened sensitivity
 to forest cover at soft range limits was similar regardless of whether the
 range limit faced equatorward or poleward. These results highlight how
 populations close to the soft limits of their species’ ranges are at
 higher risk of extirpation resulting from loss of forest cover. This
 suggests that environmental conditions (e.g., climate), which become more
 challenging away from the core of the species’ range, drive variability in
 sensitivity to forest cover.
description: # Soft range limits shape sensitivity to forest cover more strongly than
 hard range limits Dataset DOI:
 [10.5061/dryad.m905qfvd2](10.5061/dryad.m905qfvd2) ## Description of the
 data and file structure "RangeLimits_Scripts.zip": Contains all
 R scripts used to process data, conduct analyses, and create figures.
 "Data_RangeLimits_Granvilleetal2025_GEB.xlsx": Contains the
 explanatory variables used in the statistical models. The table shows
 site-level records for different species from the different databases and
 the associated study, with associated geographic and directional metrics.
 Each row represents a different sampling site. **Raw data availability:**
 The PREDICTS data can be downloaded from:
 [https://data.nhm.ac.uk/dataset/the-2016-release-of-the-predicts-database-v1-1](https://data.nhm.ac.uk/dataset/the-2016-release-of-the-predicts-database-v1-1) and [https://data.nhm.ac.uk/dataset/release-of-data-added-to-the-predicts-database-november-2022](https://data.nhm.ac.uk/dataset/release-of-data-added-to-the-predicts-database-november-2022). The Atlantic Bird data can be downloaded from: [http://onlinelibrary.wiley.com/doi/10.1002/ecy.2119/suppinfo](http://onlinelibrary.wiley.com/doi/10.1002/ecy.2119/suppinfo?_gl=1*t7wyr6*_gcl_aw*R0NMLjE3Mjk2MzE5ODUuQ2owS0NRandtdDI0QmhEUEFSSXNBSkZZS2swdDhiM2MzbmtDOXhBM1d3LUpnSXo5ekEwdWQxMkt6TDVrajUySW1YMDRnQXpKUE5GSS05TWFBaU42RUFMd193Y0I.*_gcl_au*NjQ1OTI3MjY3LjE3MjQ5NjM5NTguMTk4OTgzNTE0OS4xNzMyMjI3NjQyLjE3MzIyMjc2NjM.). The BIOFRAG data can be requested from: [https://biofrag.wordpress.com/biofrag-measuring-biodiversity-response-to-forest-fragmentation/](https://biofrag.wordpress.com/biofrag-measuring-biodiversity-response-to-forest-fragmentation/). The species’ range maps can be requested from BirdLife International via: [http://datazone.birdlife.org/species/requestdis](http://datazone.birdlife.org/species/requestdis). The global tree cover maps can be downloaded from: [https://storage.googleapis.com/earthenginepartners-hansen/GFC-2022-v1.10/download.html](https://storage.googleapis.com/earthenginepartners-hansen/GFC-2022-v1.10/download.html). ## Code **01_DataPrep** 01_01_PREDICTS_Global.R- filters and cleans the PREDICTS Project database to obtain data on bird incidence at sites within studies. 01_02_BIOFRAG_Global.R - filters and cleans the BIOFRAG database to obtain data on bird incidence at sites within studies. 01_03_ATLANTIC.R -  filters and cleans the Atlantic Bird database to obtain data on bird incidence at sites within studies. 01_04_CombinePresAbs_data.R - combines data from the PREDICTS, BIOFRAG, and Atlantic Bird databases and removes duplicate studies. 01_05_ForestEcoregions.R - filters the dataset to exclude studies conducted in non-forest ecoregions. 01_06_Taxonomy.R - aligns species names to the BirdLife taxonomy. 01_07_CleanBirdLife_Ranges.R - subsets the Birds of the World species range data from BirdLife for species in our dataset, then cleans and validates range geometries. 01_08_DistToRangeEdge.R - calculates distance to the species' range limit for data filtering purposes. 01_09_Clean_NegativeDists.R - removes species recorded &gt;200 km outside their range. **02_EdgeDists** 02_01_Coastline.R - applies a 10km buffer around the GSHHS coastline polygons. 02_02_EdgeDist_HardVsSoft_PolewardVsEquatorward.R - converts the range polygons to rasters, and measures the distance of each species at each site to the nearest inland and coastal range limit pixels. Then classifies inland range limit pixels as facing poleward or equatorward relative to the site. Also classifies sites based on whether they are in the poleward- or equatorward- halves of each species' range. This script takes a long time to run, so we recommend running it using a cluster.  **03_ForestCover** 03_01_Calculate_ForestCoverProportion.R - calculates the proportion of forest cover within the landscape surrounding each site. 03_02_Join_ForestCover_with_Data.R - joins the output data from script 02_02 with the output data from script 03_01. Removes non-forest species according to IUCN classification, formats data for analysis, and creates a supplementary table showing a list of studies. **04_Models** 04_01_HardVsSoft.R - runs binomial GLMMs to test how forest cover and distance to hard vs. soft range limits affect bird incidence. 04_02_EquatorwardVsPoleward.R - runs binomial GLMM to test how forest cover and distance to equatorward- vs. poleward- facing range limits affect bird incidence.  04_03_Supp_DiffMethods.R - runs binomial GLMM to test whether the effects of forest cover and distance to soft range limits on bird incidence vary depending on whether the species is in the poleward or equatorward half of its range.  04_04_Supp_RangeSize.R - adds range size as an additional fixed effect in the binomial GLMM, testing how distance to soft range limit and forest cover affect bird incidence.  04_05_Supp_PGLS.R - tests for phylogenetic signal in species-level random effects. 04_06_Supp_CorrelationTest.R - tests for correlation between distance to range limit and forest cover. 04_07_Supp_BufferSensitivityTest.R - runs the main binomial GLMMs using forest cover within 400m and 800m buffers. 04_08_Supp_AIC.R - compares the AIC values of the models reported in the main manuscript to models with simpler fixed effects. **05_Figures** 05_01_Map.R - makes maps showing the spatial distribution of sites. 05_02_HardVsSoft.R - makes figure showing how the distance to hard and soft range limits affects bird sensitivity to forest cover. 05_03_PolewardVsEquatorward.R - makes figure showing how distance to poleward and equatorward soft range limits affect bird sensitivity to forest cover. 05_04_Supp_DiffMethods.R -  makes supplementary figure showing how distance to soft range limit affects bird sensitivity to forest cover,  depending on whether the species is in the poleward or equatorward half of its range.  05_05_Supp_RangeSize.R - makes supplementary figure showing how distance to soft range limit and forest cover affect bird incidence when accounting for range size.