What is GARP?
The acronym GARP stands for Genetic Algorithm for Rule-set
Production. GARP was originally developed by David Stockwell, at the
San Diego Supercomputer Center.
GARP is a genetic algorithm that creates an ecological niche model for a species
that represents the environmental conditions where that species would be able to maintain
populations. GARP uses as input a set of point localities where the species is known to
occur and a set of geographic layers representing the environmental parameters that might
limit the species' ability to survive.
GARP tries, interactively, to find non-random correlations between the presence and absence of
the species and the values of the environmental parameters, using several types of rules.
Each rule type implements a different method for building species prediction models. Currently
there are four types of rules implemented: atomic, logistic regression, bioclimatic
envelope and negated bioclimatic envelope rules.
For a comprehensive description of GARP algorithm, read David Stockwell's
GARP Technical Manual and Users Guide.
What is a Genetic Algorithm?
Genetic algorithms are optimization algorithms developed by artificial intelligence experts that
use a metaphor to the concepts of genetics and the theory of evolution of species
from biology, to define its data structures and procedures. For an introduction and a tutorial
on genetic algorithms, visit
Marek Obitko's website
(thanks to R. Anderson).
What is DesktopGarp?
DesktopGarp is a reengineered version of the original GARP that runs on personal
computers and workstations.
What platforms does DesktopGarp run on?
The Windows platform. DesktopGarp runs on Intel/Windows platform, including Windows 98, ME, NT4, 2000 and XP.
It does not run on Windows 95 or 98 first edition. It does not run on Mac, Linux,
Solaris, or any kind of Unix.
Will DesktopGarp run on Mac or Unix?
No. There is no plan to move DesktopGarp to platforms other than the Intel/Windows platform in the
near future. Although its core libraries are developed in ANSI C++, which is portable to other
platforms, the client software that uses those libraries is written in MS Visual Basic. Moving
it would require a new client tool using a native interface implementation framework,
or Java. There is little demand from users to move it to another platform.
Where do I get DesktopGarp software package?
On this website. Go to
For installation and use instructions, go to the
What does the DatasetManager application do?
DatasetManager is a tool that helps the user prepare sets of geographic layers, or
datasets, which will be used by DesktopGarp to build species prediction models.
It does not do the entire job, though. It just converts the datasets and creates some metadata
that is used by DesktopGarp during optimization. It requires support from a
Geographic Information System (GIS), such as ESRI's
ArcGIS, Arc/Info or ArcView GIS, to create new GARP datasets.
Does DesktopGarp use species absence data?
Not currently. Although the original GARP algorithm handles presence, absence and background
values as input, DesktopGarp was optimized to work with just presence data, because of the nature
of biodiversity datasets. Very few biodiversity datasets have absence data because it is more complex
to ensure that a species does not occur at a certain location. Most of those datasets
record only occurrences (presence data). But there is some demand for handling absence data;
support for absence data is being considered for future releases.
So how does DesktopGarp treat absence data?
It treats absence and background data as equivalent concepts. All non-presence points
are considered to be absence data.
My experiment does not output any result map and the result table is empty. What is wrong?
Check the message column on the results table. If you get the message
"No unique datapoints" that means no data point falls inside the interest (unmasked)
region. Check the data points on the input data file to determine whether they really fall
inside the interest region. Also check to see if
you have the longitude and latitude columns in the correct order. A common mistake is to switch
the order of these columns. This release currently ignores the column names and uses
the second column for longitude and the third column for latitude.