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.