A new tool for fundamental niche modelling
Renato De Giovanni
Centro de Referência em Informação Ambiental, CrIA
openModelleropenModeller
• Definition
• History
• Motivation and features
• Design
• Interfaces and additional tools
• Algorithms
• Future plans
DefinitionDefinition
openModeller is an open source C++ library completelydedicated to static spatial distribution modelling.
ApplicationsApplications
Biology: Fundamental niche modelling.Geology ?Demography ?Others ?
openModeller’s historyopenModeller’s history
apr 2003: Initial design of a new modelling environment at CRIA as a natural consequence of previous experiences with other tools (DesktopGarp).
oct 2003: First working prototype as part of the speciesLink project (Fapesp).
dec 2003: Released all source code (sourceforge).
feb 2004: Partnership with BDWorld (CSM / GRID component).
apr 2004: Partnership with University of Kansas (GARP / BTRA).
jan 2005: Released first graphical user interface (Tim Sutton & Peter Brewer).
may 2005: Basis of a new thematic project funded by Fapesp (4y).
Main MotivationMain MotivationFacilitate and speed up modelling tasks, offering at the same time a homogeneous environment to carry out experiments with different algorithms.
Main featuresMain features• Platform independent.• Enables the existence of multiple interfaces on top of it.• Accepts different formats of georeferenced maps.• Accepts different coordinate systems and projections for each map
and for the whole set of occurrence points.• Accepts different cell sizes and extents for each map.• Allows the different algorithms to use exactly the same input and the
same working environment, therefore enabling fair comparison between all results.
• Isolates algorithm logic from other issues related to maps, georeferencing, input and output formats, etc.
• Offers a collaborative and transparent environment for all interested developers.
Architecture overviewArchitecture overview
openModeller
GARP
Bioclim
CSM
pluggablealgorithms
API
others...
APIConsole
interfaces
SOAPserver
SWIGwrapper
others...drivers
points maps
(GDAL, proj4, etc)
(diff. formats)(diff. coord systems)
Interfaces and additional toolsInterfaces and additional tools
• Command line / Console suite– om_console– om_viewer (X11)– om_niche (X11)
• SWIG wrapper– Python
• SOAP interface (prototype server and sample client)
• Web interface
• Graphical User Interface (Linux, Windows, Mac OS)
Console interfaceConsole interface>> om_console request.txt
WKT Coord System = Species file = Species = Map = Mask = Output map = Output mask = Output format = Output file = Algorithm = Parameter =
Console interfaceConsole interface
Console interfaceConsole interface
Tool for visualizing mapsTool for visualizing maps>> om_viewer -r request.txt
Tool for visualizing modelsTool for visualizing models>> om_niche request.txt
Web InterfaceWeb Interface
Web InterfaceWeb Interface
Graphical User InterfaceGraphical User Interface
Graphical User InterfaceGraphical User Interface
Graphical User InterfaceGraphical User Interface
Development of algorithmsDevelopment of algorithms
• Metadata definitions (name, version, author, description, bibliographic references, parameters).
• Method to initialize the algorithm.
• Method to generate the model.
• Method to calculate the probability of occurrence given a certain vector of environmental values.
Algorithms: Building modelsAlgorithms: Building models
openModeller
Algorithm
API
Sampler gives the algorithm vectors of environmental values from a set of occurrence points:Ex: [20˚, 115 mm], [22˚, 100 mm]
Algorithm uses the values tobuild a distribution model and stores an internal representation of it.
Algorithms: Generating distribution mapsAlgorithms: Generating distribution maps
openModeller
Algorithm
For each cell of the resulting map, openModellerasks the probability of presence sending thevector of environmental values as a parameter.
Ex: probability for [30˚, 90 mm] ?
Algorithm answers with a probability of presence.
Ex: prob = F( [30˚, 90 mm] ) = 0.8
AlgorithmsAlgorithms
• Bioclim
• Climate Space Model (Broken Stick cutoff method)
• GARP (incl. best subset procedures)
• Distance algorithms– Distance to average– Minimum distance
Algorithms - BioclimAlgorithms - Bioclim• Assumes normal distribution for each environmental variable.• Envelopes are represented by the interval [m - c*s, m + c*s],
where 'm' is the mean; 'c' is the cutoff parameter; and 's' is the standard deviation.
• Besides the envelope, each environmental variable has additional upper and lower limits taken from the maximum and minimum values related to the set of occurrence points.
• Points are classified as: suitable, marginal or unsuitable.
fig. 1: cutoff = 0.674 fig. 2: cutoff = 0.99
Algorithms - GARPAlgorithms - GARP• Genetic Algorithm for Rule-set Production: models are
represented by a set of rules generated by a genetic algorithm.
• Non-deterministic: produces a different model each time the algorithm is run.
fig. 1: model 1 fig. 2: model 2 fig. 3: model 3
Algorithms – GARP with Best subsets procedureAlgorithms – GARP with Best subsets procedure
fig. 1: sample model
• Runs several GARP models and chooses the best ones according to omission and commission erros.
• Resulting model is the overlapping of models that were selected in the previous step.
Algorithms – distance to averageAlgorithms – distance to average• Normalizes environmental values and parameter.
• Calculates the mean point in environmental space considering all presence points.
• Probabily of presence is proportional to the Euclidean distance from the average point (linear decay).
• Parameter determines the maximum accepted distance.
fig. 1: parameter = 0.1 fig. 2: parameter = 0.3
Algorithms – Minimum distanceAlgorithms – Minimum distance• Normalizes environmental values and parameter.
• Probabily of presence is proportional to the Euclidean distance from the closest point (linear decay).
• Parameter determines the maximum accepted distance.
fig. 1: parameter = 0.05 fig. 2: parameter = 0.1
Use case – Use case – Byrsonima subterraneaByrsonima subterranea Brad. & Markgr. Brad. & Markgr.
= original point
= 4 new points
Scope issues & known limitationsScope issues & known limitations
• Works only with static models – dynamic modelling is currently outside the scope of this tool.
• None of the algorithms can handle categorical maps (although the library is already prepared to deal with them).
• None of the algorithms can handle absence points (except GARP), and none of the high level interfaces is prepared to receive absence points as an additional parametrer.
• Produces only bi-dimensional maps – not prepared to produce models in three dimensions (especially considering aquatic environments).
• Still not sufficiently documented!
• Still not sufficiently tested!
Future plansFuture plans
• Implementation of other algorithms: neural nets, cellular automata, GLM, GAM, GRASP, Domain…
• Development of new components to help on pre-processing and post-analysis.
• Finalize Web and SOAP interfaces.
• Develop SWIG interfaces for other programming languages.
• Improve documentation.
• Implementation of a new and advanced graphical user interface.
New version of the graphical interfaceNew version of the graphical interface
Institutions & PeopleInstitutions & People
Tim Sutton
Peter Brewer
Ricardo S. Pereira
Kevin Ruland
Jens Oberender
Mauro Muñoz
Renato De Giovanni
Thank youThank you
http:// openmodeller . sf . net
renato (at) cria . org . br