This repository contains the code used to assess the contribution of a location to the ecological connectivity at the Swiss landscape level, within the context of the SPEED2ZERO project.
The importance of a pixel for supporting ecological connectivity is evaluated by quantifying how a marginal change in habitat quality and/or permeability affects the overall ecological connectivity of the landscape for a certain taxonomic group. This marginal change is called quality or permeability elasticity. These elasticities are calculated with the JAX library jaxscape.
Individual maps for taxonomic groups are aggregated to produce a single Ecological Connectivity Importance Score, which identifies areas critical to maintaining overall connectivity.
Ecological connectivity importance score map for terrestrial species. Higher values indicate higher contribution of the pixels for overall ecological connectivity, implying larger loss of connectivity if the pixel's ecological quality or permeability is degraded.
A manuscript detailing the approach will be available soon.
Elasticity maps and the Ecological Connectivity Importance Score should be considered as work in progress. Prior to the release of version v1.0.0, these products are provided solely for research purposes and must not be utilized for conservation planning or decision-making.
A JAX-compatible GPU is recommended for computational efficiency.
To install the dependencies, make sure you have conda (or mamba), go to python/ and run
conda env create --file environment.yml --prefix ./.env
The analysis depends on mean suitability maps for each taxonomic group considered, which are derived from individual species suitability maps obtained from
Adde, A., ..., Guisan, A., & Altermatt, F. SDMapCH: A comprehensive database of modelled species habitat suitability maps for Switzerland. In preparation.
Path to this data must be inserted in python/src/NSDM.py in variable NSDM_PATH.
We also use a dataset of traits to derive species habitats and dispersal range. Path to this data must be inserted in python/src/TraitsCH.py in variable TRAITS_CH_PATH.
Access to the mean suitability maps for each taxonomic group, to the individual species suitability maps, and to the individual species dispersal range data, is restricted but may be considered upon request.
python/biodiv_layer/group_elasticity_analysis.py: Main script to calculate permeability and quality elasticities at the taxonomic group level for a given habitat (aquatic or terrestrial). See header on how to use it, or simply runrun_sensitivity_analysis.sh.python/biodiv_layer/run_sensitivity_analysis.sh: runs thegroup_elasticity_analysis.pyscripts for each group and habitat.group_summed_elasticities.py: Aggregates elasticities at the habitat level to calculate the habitat-specific Ecological connectivity importance score.calculate_metdata.py: Generates a.csvfile listing all species and associated dispersal range used in the calculation of the habitat-specific Ecological connectivity importance score.src/*: Utility functions.
Elasticity maps and the Ecological connectivity importance score product are hosted under this Zenodo archive. Permeability elasticity maps are provided exclusively for groups where least-cost path distance is used to calculate proximity. For groups where Euclidean distance is used, species movement is assumed to be unaffected by the landscape.
- Harmonize
.ncand.tifffile formats. - Use
ResistanceDistanceinstead ofLCPDistance, as a more relevant ecological distance. - Run connectivity analysis per species, instead of per group

