====== TerraME: Simulation and Modelling of Terrestrial Systems ====== {{ :images:topo.png |}} \\ TerraME is a programming environment for spatial dynamical modelling. It supports cellular automata, agent-based models, and network models running in 2D cell spaces. TerraME provides an interface to TerraLib geographical database, allowing models direct access to geospatial data. Its modelling language has in-built functions that makes it easier to develop multi-scale and multi-paradigm models for environmental applications. Two important innovations in TerraME are its use of anisotropic spaces and of hybrid automata models. Anisotropic spaces arise when modeling natural and human-related phenomena. For example, land settlers in a new area do not occupy all places at the same time. They follow roads and rivers, leading to an anisotropic pattern. Anisotropic spaces are implemented in TerraME using Generalized Proximity Matrices (GPM). The GPM is an extension of the usual definition of the spatial relations and include a combination of neighborhood measures in the absolute space and in the relative space. A hybrid automaton is an abstract model for a system whose behavior has discrete and continuous parts. It extends the idea of finite automata to allow continuous change to take place between transitions. Adopting hybrid automata in spatial dynamical models allows complex models which include critical transitions. A vision of research motivations and directions of Environmental Modelling in INPE is available {{http://www.dpi.inpe.br/gilberto/present/vision.ppt|in this presentation}}. An early presentation of our vision is {{http://www.dpi.inpe.br/gilberto/present/camara_giscience2006_keynote.ppt|How can GIScience contribute to Land Change Modelling?}}, the keynote speech at GIScience 2006. The rationale for the TerraME software is presented in the lecture {{http://www.dpi.inpe.br/gilberto/present/modelling_human_environment_interactions.ppt | Modelling human-environment interactions}}, presented in the Vespucci Summer School 2010. ===== Software ===== === TerraME === The latest version of TerraME is the release candidate 5 (RC5). It works under Windows (XP, Vista, and Windows 7). |**{{:software:terrame_rc5_20100623.zip|Download TerraME RC5}}** (2010-06-23)| TerraME is distributed under the {{http://www.gnu.org/licenses/lgpl-3.0.txt |GNU Lesser General Public License}}. Older versions are available [[old|here]]. For information on future versions, please visit its [[http://www.terralab.ufop.br/dokuwiki/doku.php?id=terralab:terrame|development page]]. === TerraView === **[[http://www.dpi.inpe.br/terraview/index.php|TerraView]]** is a GIS application based on **[[http://www.terralib.org|TerraLib]]**, a library to handle vector and raster data in several geographical DBMS. TerraME currently works with TerraView 3.2.0. Some recommended add-on plugins to work with dynamic models are: * **[[companion:fillcell|Fill Cell Plugin]]**: feeds cellular spaces with attributes based on any geometry, through a large set of operations. * **[[companion:copytheme2layer|Copytheme2layer]]**: A simple and useful plugin to interchange cellular spaces from different databases. === Development kits === You can build models in TerraME using any text file editor. Below there is a list of editors we recommend due to their programming facilities. * **[[http://www.crimsoneditor.com/|Crimson Editor]]**: Recommended for most users. Follow {{:docs:crimson-for-terrame.pdf|these instructions}} for running TerraME within Crimson. There is a {{:software:lua.key|syntax highlight configuration file}} for TerraME; put it in "C:/Program Files/Emerald Editor Community/Crimson Editor/spec". * **[[http://www.eclipse.org|Eclipse SDK]]**: Recommended for large projects. There is a [[http://luaeclipse.luaforge.net/|Lua plugin for Eclipse]]. === DBMS === The DataBase Management Systems (DBMS) currently supported by TerraME are: * **Microsoft Access**: Recommended for small projects. It is usually installed with Windows. * **[[http://www.mysql.org|MySQL]]**: Recommended for large projects. === Statistical analysis === **[[http://www.leg.ufpr.br/aRT|aRT]]** (R-TerraLib API) is an **[[http://www.r-project.org/|R]]** package that provides the integration between the statistical software R and the GIS library TerraLib. The aim is to have a package for accessing geospatial data to be analysed in R. ===== Documentation===== === Tutorials === * {{:docs:introduction_terrame_v1-4.pdf|Tutorial: An Introduction to TerraME}} (version 1.4, 2010-06-21) * {{:docs:luaforterrame-ashortintroduction2.pdf|Lua for TerraME: A Short Introduction}} (version 0.2, 2010-08-16) * {{:docs:terrame-documentation.pdf|Classes and Functions Documentation}} (version 0.5-3, 2010-08-18) === Examples === * Simple Fire Spread Model: {{:examples:demo07_simple_fire_spread_model.lua|code}} * Fire Spread Model: {{:examples:demo08_fire_spread_model.lua|code}} + {{:examples:db_emas.rar|database}} + {{:docs:dincon2010.pdf|paper}} * Game of Life: {{:examples:demo16_gameoflife_automata.lua|code}} * Schelling's Seggregation Model: {{:examples:demo21_schelling.lua|code}} * Hydrological model: {{:examples:demo11_rain_geobd_observer.lua|code}} + {{:examples:cabecadeboi.rar|database}} * Iterated Prisoner's Dilemma: {{:examples:demo17_ipd.lua|code}} * Spatial Games: {{:examples:demo22_spatial-games.lua|code}} * LUCC model for Amazonia: {{:examples:demo12_amazonia-deforestation.lua|code}} + {{:examples:amazonia.rar|database}} === Courses === We use TerraME on our [[courses|courses]] on Enviromental Modelling. We give regular graduate courses in the research programs in Earth System Science at INPE and Computer Science at UFOP. === Papers and reports === * Tiago Carneiro. {{http://www.dpi.inpe.br/gilberto/teses/nested_ca.pdf|Nested-CA: a foundation for multiscale modeling of land use and land change}}. PhD Thesis, INPE, 2006. * Evaldinólia Moreira, Sergio Costa, Ana Paula Aguiar, Gilberto Camara, Tiago Carneiro. {{http://www.dpi.inpe.br/gilberto/papers/moreira_landscape_ecology_2009.pdf|Dynamical coupling of multiscale land change models}}, Landscape Ecology, 24(9), p. 1183-1194, 2009. * Tiago Carneiro, Gilberto Câmara, Raian Maretto. {{http://www.dpi.inpe.br/gilberto/papers/irregular_cellular_space_geoinfo2008.pdf|Irregular Cellular Spaces: Supporting Realistic Spatial Dynamic Modeling using Geographical Databases}}. X Brazilian Symposium on Geoinformatics, GeoInfo'08, Rio de Janeiro, 2008. * Pedro Andrade, Antonio Miguel Monteiro, Gilberto Câmara, Sandra Sandri. {{http://www.dpi.inpe.br/gilberto/papers/andrade_mobility_jasss_2009.pdf|Games on Cellular Spaces: How Mobility Affects Equilibrium}}. Journal of Artificial Societies and Social Simulation (JASSS), 12(1), p. 4, 2009. ===== People ===== The chief developer of TerraME is [[http://www.terralab.ufop.br/dokuwiki/doku.php?id=terralab:equipe:tiago:indice|Prof. Tiago Garcia de Senna Carneiro]], from the Federal University of Ouro Preto. INPE's development group includes PhD students [[http://www.leg.ufpr.br/~pedro/|Pedro Andrade]], [[http://www.dpi.inpe.br/~scosta/wiki|Sergio Costa]], [[http://sites.google.com/site/amazonida/|Rodolfo Maduro Almeida]] and MsC student Raian Vargas Maretto. INPE's researchers involved in developing models using TerraME include [[http://www.dpi.inpe.br/gilberto|Dr. Gilberto Camara]], [[http://www.dpi.inpe.br/~miguel|Dr. Antonio Miguel Monteiro]], [[http://www.dpi.inpe.br/quem_somos/anapaula/|Dr. Ana Paula Aguiar]], and PhD student [[http://www.dpi.inpe.br/~giovana/|Giovana Mira de Espindola]]. The TerraME kernel development team also includes some bachelors and undergraduate students from the Computer Science department of the Federal University of Ouro Preto: [[http://www.terralab.ufop.br/dokuwiki/doku.php?id=terralab:equipe:antonio:indice|Antônio José da Cunha Rodrigues]] and [[http://www.terralab.ufop.br/dokuwiki/doku.php?id=terralab:equipe:rodolfo:indice|Rodolfo Ayala Lopes Costa]]. ===== Supporting Software ===== The TerraME modelling language is an extension of the [[http://www.lua.org | Lua programming language]] and interfaces to [[http://www.terralib.org|]] GIS library for archival and retrieval of geospatial data. Many thanks to the Lua and TerraLib teams for providing such good environments to build upon! [[http://www.lua.org|{{:images:lua2.gif?110}}]] [[http://www.terralib.org|{{:images:logo_terralib.jpg?120}}]] ===== About ===== TerraME has been developed as a joint effort among TerraLab (Laboratory for Modelling and Simulation of Land Systems), at Federal University of Ouro Preto, with Image Processing Division (DPI) and Earth System Science Center (CCST), at INPE. [[http://www.terralab.ufop.br/|{{:images:logo-terralab-peq.jpg|}}]] [[http://www.ufop.br|{{:images:logo_ufop.jpg?50|}}]] [[http://www.dpi.inpe.br|{{:images:logo-dpi.jpg?180|}}]] [[http://www.ccst.inpe.br/#|{{:images:logo-ccst.jpg?250|}}]] [[http://www.inpe.br|{{:images:inpe.jpg?130|}}]]