r.mess computes the "Multivariate Environmental Similarity Surfaces" (MESS) in GRASS using R as backend. The MESS index was proposed by Elith et al (2010) and is also implemented in the Maxent software. The MESS approach can be described as follows (from Elith et al 2010): "The multivariate environmental similarity surface (MESS) calculation represents how similar a point is to a reference set of points, with respect to a set of predictor variables (V1, V2, ...). The values in the MESS are influenced by the full distribution of the reference points, so that sites within the environmental range of the reference points but in relatively unusual environments will have a smaller value than those in very common environments."

This module will also compute the individual environmental similarity surfaces (IESS), which represents how similar a point is to a set of reference points for each of the input variable. MESS is then simply calculated as the minimum of its similarity with respect to each variable.

Any sample of interest can be used for the reference set. For example, it can be occurrence records for the species; a sample of a region, or a sample of current climate conditions in a given area. The input layer representing the reference distribution can be a vector point layer or a raster layer.

The IESS can have negative values – these are sites where the variable has a value that is outside the range in the reference set. A negative MESS thus represents sites where at least one variable has a value that is outside the range of environments over the reference set, so these are novel environments.

In addition to the MESS, which is the minimum(IESS), the r.mess function also allows to compute mean and medium of the IESS layers.


Digits should reflect the level of precision of the input layers. I.e., if values of the input layers are recorded with three digits behind the comma, Digits should be set to 0.001 or smaller.


There is also a similar function implemented for R using the R package raster, and which is part of the dismo package in R now. See here. for more information and the script.


Paulo van Breugel


Last changed: $Date$