Home

Awesome

TerraMA²

Repository HealthStatus
BuildBuild Status

TerraMA² is a free and open source computational platform for early warning systems.

You can build applications to monitor, analyze and issue early warnings related to air quality, water quality, pipelines, tailings dams for mining, forest fires, landslides and debris-mud flows, floods and droughts.

Through a service-oriented architecture, TerraMA² can integrates geospatial data from different web services.

It takes advantage of the datasets available on the Internet to have access to real-time geo-environmental data (meteorological, climatic, atmospheric, hydrological, geotechnical and socio-demographic).

Besides that, it provides support for building models to several application domains through scriptable languages.

The computational platform is based on a service-oriented architecture, which is open and provides the technological infrastructure required to develop and implement operating systems to monitor early warnings of environmental risks.

Source Code Instructions

In the root directory of TerraMA² codebase (the source code tree) there are some text files explaining the details of the codebase:

Source Code Organization

C++ Dependencies

If you want to build yourself TerraMA² then you need to install some third-party libraries. Below we show the list of third-party libraries dependencies and its versions:

All the web application dependencies and install steps you can find in: https://github.com/TerraMA2/terrama2/tree/master/webapp#terrama-webapp.

Cloning TerraMA² Repository

$ mkdir -p /home/${USER}/mydevel/terrama2/codebase
$ cd /home/${USER}/mydevel/terrama2/codebase
$ git clone https://github.com/terrama2/terrama2.git .

Branches

You can check all branches available (remotes and local) and see the current one (marked with "*"):

$ git branch -a

The output of above command will be something like:

  * master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

In the above output the "* master" means that the current branch is master.

We have the following branches:

For a more complete releases info, check: https://github.com/TerraMA2/terrama2/releases

To switch to one of the branches listed above, use the checkout command and create a local branch to track the remote branch. The syntax of "git checkout" is:

$ git checkout -b <local_branch_name> <remote_branch_name without this part "remotes/">

In order to switch to branch b4.1.1 you can use the following command:

$ git checkout -b b4.1.1 origin/b4.1.1*

Tags

Also there are tags which usually are originated from a release branch. For instance, tag b4.1.1 will be originated from branch b4.1.1.

To check all tags available, use:

$ git tag -l           (list all tag names)

If you want to checkout a specific version given by a tag and create a local branch to work on you can use the following git command:

$ git checkout -b <local_branch_tag_name> <one_of_tag_name_listed>

For instance, to checkout b4.1.1 you can enter the following command:

$ git checkout -b vb4.1.1  vb4.1.1

Build Instructions

The build/cmake folder contains a CMake project for building TerraMA².

Until now its build has been tested on:

After choosing the right branch or tag to work on, if you want to build TerraMA² and generate packages, first take a look at the sections below and read the right tips for automatically building in your platform:

Reporting Bugs

Any problem should be reported to terrama2-team@dpi.inpe.br.

For more information on TerraMA², please, visit its main web page at: http://www.dpi.inpe.br/terrama2.