Skip to content

vboussange/CH3Div_connectivity

Repository files navigation

Ecological connectivity analysis for Switzerland

DOI

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.

⚠️ Disclaimer ⚠️

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.

Requirements

Hardware

A JAX-compatible GPU is recommended for computational efficiency.

Dependencies

To install the dependencies, make sure you have conda (or mamba), go to python/ and run

conda env create --file environment.yml --prefix ./.env

Input data

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.

File description

  • 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 run run_sensitivity_analysis.sh.
  • python/biodiv_layer/run_sensitivity_analysis.sh: runs the group_elasticity_analysis.py scripts 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 .csv file listing all species and associated dispersal range used in the calculation of the habitat-specific Ecological connectivity importance score.
  • src/*: Utility functions.

Results

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.

Roadmap

  • Harmonize .nc and .tiff file formats.
  • Use ResistanceDistance instead of LCPDistance, as a more relevant ecological distance.
  • Run connectivity analysis per species, instead of per group

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors