Simulating species’ distributions
First, we simulated the distributions and areas accessible (M )
of 1000 species across South America—500 with a fundamental mean
annual temperature niche of 24-28ºC (hereafter referred to as “cool
niche species”) and 500 with a fundamental mean annual temperature
niche of 25-29ºC (hereafter referred to as “warm niche species”). For
each set of species, Ms were generated using an initial
population of 10,000 random polygons within South America using therandom_polygons function implemented in nichevol v.0.1.17
(GITHUB REDACTED FOR REVIEW; REFER TO SUPPLMENT “nichevol”), an R
(v.3.6.1; R Core Team 2019) package that we created for the purposes of
facilitating studies of niche evolution. Next, we used QGIS v.3.6 (QGIS
Development Team 2019) to select 500 polygons manually for each of the
two simulated fundamental niches, removing the largest and smallest
polygons, and those with the least realistic geometries. We assumed that
each species could occupy all cells in suitable conditions within its
corresponding M (i.e., we ignored biotic factors). Suitable
cells were identified based on a 2.5’ resolution raster of annual mean
temperature data (Bio 1) from WorldClim v.1.4
(Hijmans et al. 2005) and theraster package v.3.0.0 (Hijmans 2019) in R.
The range of mean annual temperature values across South America
occupied by the union of all of our simulated species was divided into
‘bins’ of equal 1ºC widths (see diagrammatic representation in Figure 1)
using nichevol in R. For each simulated species, we scored every
bin as unsuitable (0), suitable (1), or unknown (?). More specifically,
a bin that encompassed values within the occupied area of a species was
considered “suitable” (1). When suitability was unknown because the
climatic values for the bin in question were not represented within theM of the species, but the bin in question was flanked by two
suitable bins, it was also scored as “suitable,” following an
assumption of a unimodal response to environmental conditions (Maguire
1973). Bins with values outside suitable niche conditions were scored as
“unsuitable” (0). That is, any conditions represented withinM but not predicted suitable or adjacent to an occurrence of
the species were scored as unsuitable. To allow explicit incorporation
of uncertainty in our analyses, in cases in which suitable niche
conditions coincided with the limits of environmental conditions present
in a species’ M, all more extreme values—that is, values
outside of those present within M —were coded as unknown (?).
Code for analyses can be found in Supplement 1; annotated code with
tables and figures provided as an HTML document in Supplement 2.