Keywords

1 Introduction

Dinamica EGO (EGO stands for Environment for Geoprocessing Objects) is a freeware for environmental modeling. Its modeling platform allows the design from very simple spatial models to very complex dynamic ones (Soares-Filho et al. 2002, 2006). Dinamica EGO favors usability, flexibility and performance, optimizing speed and computer resources. The software interface allows designing models using a graphical programming language in an intuitive and friendly way. Users build models by simply dragging geoprocessing operators and connecting them to represent the model visual diagram. While such a simplicity facilitates newcomers’ learning, sophisticated and powerful features address the challenges posed by expert modelers. Advanced features include nested iterations, multi-transitions, dynamic feedbacks, multi-region approach, decision processes for bifurcating and joining execution pipelines, a complete series of spatial algorithms for the analysis and simulation of space-time phenomena, model wizard, and high performance computing thanks to a 64-bit native and multiprocessor architecture that handles large raster datasets. Dinamica EGO also allows the user to break up the model into sub-models to simplify design and enhance communication, or to design new operators that can be stored in the software library or exchanged using an online repository. In addition, Dinamica EGO enables map operation combining raster maps in any geographic projection, spatial resolution, or extent, making it truly a multiple resolution and multi-scale software. The software environment also allows the online coupling with R studio taking fully advantage of Dinamica EGO high performance and R vast statistics capabilities in one integrated modeling environment.

The software environment, developed mainly in C++ and Java, contains a series of algorithms called operators or “functors”.Footnote 1 Dinamica EGO operators include the most common spatial algorithms available in commercial GIS, and a series of algorithms especially designed for spatial simulations, including cellular automata transition functions, and calibration and validation methods. A special class of operator is the “container” that can envelop a series of operators and other containers, for example, to control the model dataflow, such as the “Repeat” container. Operators, including containers, are sequenced in a graph form to establish a visual data flow. With the help of a friendly graphical interface, users can create models by simply dragging and connecting operators via their ports; each port represents a connector to a data element, such as a map, table, matrix, mathematical expression, or constant. Thus, a model can be designed as a diagram, whose execution follows a data flow chain. Sub-models (an encapsulated part of a model) can be stored in the user’s library as new operators to be reused in other models or shared through an online store, thus facilitating the exchange of models as well as new functionalities developed by Dinamica EGO’s worldwide community of users. Models developed using the graphical interface are saved in EGOML (a form of Extensible Markup Language) or EGO programming script language; the latter format enables script writing using a text editor, which can be converted to EGO graphical diagram and vice versa. Dinamica EGO provides various tools for data visualization, including maps, tables, and graphs. Worthy of mention, modeler can build a wizard tutorial for communicating the model with end-users. In the forefront of environmental modeling, Dinamica EGO is a freeware and as such can be used at no cost for scientific, personal, and commercial purposes.

2 Description of Some Methods Implemented in the Model

Most commonly, Dinamica EGO models employ some combination of map algebra, cellular automata technique, and tabular data manipulation to represent complex socioeconomic and environmental systems. The map algebra sub-library includes a vast set of predefined operators (assigning map categories, extracting map values, distance calculation, accumulated flow, etc.) and the calculate map operators whereby users can write any mathematical or logical expression using a combination of maps, tables, and constants. The map calculation operator “Calculate Map” includes local, zonal and neighborhood functions. Because operators can be sequenced forming parallel and bifurcated execution pipelines and loops, the user is free to connect any set of operators to form a visual data flow. Hence, any variable in Dinamica EGO can become dynamic receiving feedbacks from any model element.

Dinamica EGO comes with a set of pre-implemented cellular automata transition functions, but modelers can also implement their own cellular automata from scratch using the “Calculate Map” operator together with its neighborhood functions. Thanks to the set of cellular automata transition functions (named “Patcher” and “Expander”), which allow the definition of form and size of patches of changes, Dinamica EGO can simulate very intricate and complex landscape structures. Of relevance, these functions replicate the expanding and contracting landscape elements, thereby simulating edge processes. The software holds multiple transitions that are calibrated by employing the Weights of Evidence method to calculate the influence of spatial determinants on the location of changes, producing as result an integrated transition potential map, also known as the transition probability map. The transition probability determines the likelihood that a specific cell or spatial unit will change from one state to another over a time step. The transition probabilities are calculated in Dinamica EGO using an adapted version of the Bayesian method of conditional probability (Bonham-Carter 1994), known as the Weights of Evidence (WOFE). See Soares-Filho et al. (2004, 2006, 2009, 2010). In addition, a genetic algorithm tool available in Dinamica EGO is flexible enough to embrace a multitude of spatial models as well as their specific fitness functions, thus offering a practical way to optimize the performance of environmental models (Soares et al. 2013).

The cellular automata functions allocate the changes, whose rates are either passed by a coupled model or exogenously prefixed (e.g. Markovian chain). The spatial determinants represent proximate causes of land-use change (e.g. the opening or paving of a road) or are simply preferable (e.g. more fertile soil, low slope) or more restricted (land-use zoning, such as protected areas) sites (Soares-Filho et al. 2001, 2010).

Dinamica EGO can use any customized approach to validate a model. In addition, Dinamica EGO comes with a map comparison method named “Reciprocal Similarity Comparison” that compares the spatial matching of maps of changes (Almeida et al. 2008; Soares-Filho et al. 2009). Since this method was made available in Dinamica EGO, a series of studies have applied it to perform map comparison (e.g. Soares-Filho et al. 2010; Walker et al. 2010; Silvestrini et al. 2011; Lapola et al. 2011). A detailed mathematical description of this method is found in Dinamica EGO guidebook (Soares-Filho et al. 2009) and in Soares et al. (2013). Dinamica EGO features simultaneous multiple resolution simulation, implemented through its sub region approach, a functionality that allows the user to customize the model parameters or to perform a particular calculation for a map zone, i.e. a region in a map, such as a country or state. Regions themselves can also be dynamic, changing boundaries every time-step, or be nested allowing the models to aggregate different calculations for different region levels. For example, a model can perform certain calculations at a finer resolution, e.g. at municipality level, and others at a coarser resolution, e.g. at state level. A series of models to perform landscape metrics comes with the dataset. Other examples include a road constructor submodel, land-change simulations, as well as many image-processing algorithms.

3 Applications

Applications of Dinamica EGO are many.Footnote 2 They include, for example, simulation of urban growth and intradynamics (Almeida et al. 2005; Godoy and Soares-Filho 2008), land-use change (Stickler et al. 2009; Teixeira et al. 2009), agricultural expansion (Gouvello et al. 2010), fire (Silvestrini et al. 2011), deforestation (Soares-Filho et al. 2002, 2004, 2006; Maeda et al. 2010), rent models of logging (Merry et al. 2009) and cattle ranching (Bowman et al. 2012), and analyses of opportunity cost of reducing deforestation (Nepstad et al. 2009) and the effectiveness of protected areas (Soares-Filho et al. 2010). The software has made an important contribution to more than 150 peer reviewed papers by scholars worldwide and it is widely used by governmental organizations and planning bodies.

4 Final Considerations and Technical Summary

Dinamica is a very flexible modeling tool that can be run from the desktop to a high-performance computer. Thanks to its innovative techniques, the software provides a complete solution for calibrating, running, and validating space-time models, no matter the complexity.

Dinamica EGO is a freeware spatial modeling software, available for research and commercial use. Web page of the software package: http://dinamicaego.com.