Code repositories

A complete list of code repositories is available on GitHub.

R packages


jSDM is an R package for fitting joint species distribution models (JSDMs) in a hierarchical Bayesian framework. The Gibbs sampler is written in C++ using Rcpp, Armadillo, and GSL to maximize computation efficiency.


hSDM is an R package for fitting hierarchical Bayesian species distribution models (HSDMs). It includes functions to fit mixture models (site-occupancy, N-mixture, ZIB, and ZIP models) accounting for imperfect detection, excess of zeros in the observations, and spatial autocorrelation (through an intrinsic CAR process). Functions use an adaptive Metropolis within Gibbs algorithm written in C code. This makes parameter inference faster than with software commonly used to fit such models (such as JAGS) and allows analyzing very large data-sets (typically with more than tens of thousands grid cells).


gecevar provides a set of climatic and environmental data for a given area of interest (eg. country scale) that can be used for ecological analyses. Data come from a variety of sources (eg. Chelsa, OpenStreetMap, TropicalMoistForest, SRTMv4.1, SoilGrids). Climatic and environmental data are available as multiband raster files at a resolution and in the coordinate reference system provided by the user.

MCMCpack (contribution to)

MCMCpack (Markov chain Monte Carlo Package) is an R package which includes functions to perform Bayesian inference using posterior simulation for a number of statistical models. Most simulation is done in compiled C++ written with the Scythe statistical library. I have contributed to MCMCpack with the development of functions for generalized linear mixed models (glmm): MCMChregress() for Gaussian models, MCMChlogit() for Bernoulli models (logit link function), and MCMChpoisson() for Poisson models (log link function).


twoe (2e) is a software which aims first at estimating the demographic parameters of tropical tree species from permanent forest plot data (through an R package), and second at simulating forest dynamics (through a Capsis module).

Python packages


The forestatrisk Python package can be used to model the tropical deforestation spatially, predict the spatial risk of deforestation, and forecast the future forest cover in the tropics. It provides functions to estimate the spatial probability of deforestation as a function of various spatial explanatory variables. Spatial explanatory variables can be derived from topography (altitude, slope, and aspect), accessibility (distance to roads, towns, and forest edge), deforestation history (distance to previous deforestation), or land conservation status (eg. protected area) for example.


The pywdpa Python package is an interface to the World Database on Protected Areas (WDPA) hosted on the Protected Planet website at The pywdpa package provides functions to download shapefiles of protected areas (PA) for any countries with an iso3 code using the Protected Planet API at The pywdpa package translates some functions of the R package worldpa ( in the Python language.


The riskmapjnr Python package can be used to obtain maps of the spatial risk of deforestation and forest degradation following the methodology developed in the context of the Jurisdictional and Nested REDD+ (JNR) and using only a forest cover change map as input.


The deforisk Qgis plugin (written in Python) can be used to map the deforestation risk for a country or area of interest. The plugin relies on the forestatrisk and riskmapjnr packages. Four models can be used to derive the risk maps: iCAR, GLM, Random Forest, and Moving Window models. All models are calibrated using past deforestation observations for a given period of time between 2000 and 2022. Forest cover change maps are provided by the user or derived from two global tree/forest cover change products: Global Forest Change and Tropical Moist Forests. Accuracy of the different risk maps can be compared to identify the best model and the best map.