In this section we list requirements and instructions for the installation of TOAST. For the installation and configuration of SeisComP consult its documentation. Usually TOAST is installed and set up directly by gempa GmbH.


gsm (gempa software manager) is a command line tool for handling software packages. Execute ./gsm -h to list options and consult the file README to get further information. After initial setup of gsm with ./gsm setup, the file gsm.conf contains the configured parameters. Re-run setup or edit gsm.conf with a text editor to make modifications. By default, bathymetry, forecast zones, source regions, map tiles etc. are installed at /home/data. Make sure you have write permission in the specified directories.

Install TOAST

  1. Login as sysop

  2. Download gsm and extract it:

    sysop@host:~$ mkdir install
    sysop@host:~$ cd install
    sysop@host:~$ wget
    sysop@host:~$ tar -xf gempa-gsm.tar.gz
    sysop@host:~$ cd gsm
    sysop@host:~$ chmod u+x gsm
  3. The initial gsm configuration is performed through the command setup which will auto-detect your operating system and ask for download credentials:

    sysop@host:~$ cd $HOME/install/gsm
    sysop@host:~$ ./gsm setup
  4. Update the package list and install TOAST, EasyWave and other required or desired packages:

    sysop@host:~$ cd $HOME/install/gsm
    sysop@host:~$ ./gsm update
    sysop@host:~$ ./gsm install toast easywave2 licenses seiscomp recordstream


    By default, above command installs EasyWave for CUDA toolkit Version 7. Run ./gsm show to list all available packages (e.g. easywave2-cuda-10.2).

Install dependencies

In order for TOAST to work, some dependencies have to be met. Here we indicate the required steps for CENTOS 7 operating system.

  1. Login as root

  2. Install dependencies

    root@host:~# yum -y install epel-release
    root@host:~# cd $SEISCOMP_ROOT/share/deps/centos/7
    root@host:~# ./
    root@host:~# ./
    root@host:~# ./
    root@host:~# ./
  3. If you want to generate mp4 videos from the png images in the TOAST bulletins, you need to install MEncoder. To do so, import the Nux GPG key, download dextop repositories and install mencoder.

    root@host:~# rpm --import
    root@host:~# rpm -Uvh
    root@host:~# yum --enablerepo=nux-dextop install mencoder

Enable GPU-based computation

EasyWave can use either the CPU or GPU for simulations, but on the latter it runs significantly faster. In order to take advantage of GPU computation, an NVIDIA graphics card supporting CUDA is required and the corresponding drivers and software have to be installed.


Even if you do not intend to make use of a GPU (for instance if you are using a virtual machine), the CUDA toolkit (without NVIDA drivers) has to be installed in order for EasyWave to work.

NVIDIA driver

  1. Login as root

  2. Make sure you have the correct version of ELRepo installed:

    root@host:~# yum remove nvidia-detect kmod-nvidia elrepo-release
    root@host:~# rpm --import
    root@host:~# yum install
  3. Install NVIDIA drivers:

    root@host:~# yum install kmod-nvidia nvidia-x11-drv
    root@host:~# reboot

CUDA toolkit

  1. Login as root

  2. Get the CUDA toolkit corresponding to your easywave2 version (see hint above):

    root@host:~# wget
  3. Run the command below as root and follow the instructions:

    root@host:~# sh
    Do you accept the previously read EULA? (accept/decline/quit): accept
    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 346.46? ((y)es/(n)o/(q)uit): n
    Do you want to install the OpenGL libraries? ((y)es/(n)o/(q)uit) [ default is yes ]: n
    Install the CUDA 7.0 Toolkit? ((y)es/(n)o/(q)uit): yes
    Enter Toolkit Location [ default is /usr/local/cuda-7.0 ]:
    Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
    Install the CUDA 7.0 Samples? ((y)es/(n)o/(q)uit): n
  4. Add the CUDA library path by appending two lines to /etc/

    root@host:~# echo '/usr/local/cuda/lib64' >> /etc/
    root@host:~# echo '/usr/local/cuda/lib' >> /etc/
  5. Activate the new libraries:

    root@host:~# ldconfig

Directory/File structure

TOAST is usually installed within a SeisComP environment. The file/directory structure is:




SeisComP root directory, referred to as $SEISCOMP_ROOT. Typically installed in $HOME or /opt/.


Path to SeisComP and TOAST libraries


Path to the TOAST executable


Path to the default templates directory which are used for Bulletins


Configured TOAST parameters in toast.cfg


User specific settings of SeisComP and TOAST


User specific settings of TOAST


Root directory for the TOAST plugins


Environment variables

SeisComP and gempa modules require a set of system environment variables. Add them to ~/bashrc:

sysop@host:~$ ~/seiscomp/bin/seiscomp print env >> ~/.bashrc
sysop@host:~$ source ~/.bashrc

Secure database installation

By default, MariaDB is used as a replacement for MySQL. After installation it has to be started and secured:

sysop@host:~$ su
root@host:~# systemctl enable mariadb
root@host:~# mysql_secure_installation

Define a root password for the database and answer all other questions with Y.

Setup wizard

For a basic configuration of SeisComP and TOAST, including the respective databases, you can use: scconfig ‣ File ‣ Wizard. If you prefer configuration via command line, type:

sysop@host:~$ seiscomp setup

Enter names for agencyID, datacenterID and organization. Default values for the other parameters should be fine in most cases.

Module configuration

Use scconfig ‣ Modules to configure TOAST.


Global parameters can be set either at

  • System ‣ global to set them for all SeisComP modules or at:

  • gempa ‣ toast ‣ global to set them only for TOAST.

TOAST specific parameters are set at:

  • gempa ‣ toast ‣ toast.

Here we list some possible global parameter settings:

plugins = ${plugins},rsas,simeasywave2     # rsas is required if using CAPS
recordstream = caps://  # set according to your waveform data source
database = mysql://localhost/seiscomp      # where TOAST loads inventory and bindings from
connection.server = proc                   # configure according to your SeisComP messaging system
connection.username = toast

And here are some TOAST parameter settings:

tsunami.database.type = mysql                               # tsunami database backend type
tsunami.database.parameters = sysop:sysop@localhost/toast   # where TOAST stores incidents etc.
tsunami.database.loadLastDays = 1                           # load n last days upon startup


If TOAST connects to a SeisComP messaging system using connection.server, it will by default load inventory and database from the database configured therein, which is usually set up for seismic stations. This is why above, database specifies the local SeisComP database for loading the tide gauge Inventory and Bindings. That in turn has not to be confounded with tsunami.database.parameters which is the database where TOAST stores incident and tsunami related data.

Inventory and Bindings

Via gsm you can install a package with preconfigured tide gauge inventory and bindings for the Global sea monitoring network of IOC.

  1. Login as sysop

  2. Install inventory and bindings:

    sysop@host:~$ cd $HOME/install/gsm
    sysop@host:~$ ./gsm install tidegauges-ioc
  3. Update configuration and write to database:

    sysop@host:~$ seiscomp update-config

For more information on how to configure bindings, consult the SeisComP documentation.


To use inventory and bindings from files instead from the database, start TOAST with:

sysop@host:~$ toast --inventory-db my_inv.xml --config-db my_conf.xml

Fault geometry configuration

If a tsunami on-the-fly-simulation using EasyWave is initiated and no focal mechanism (moment tensor) is available, then the strike-, dip-, and rake-angles and the depth for the automatic rupture patch generation are looked up in a file containing the information about subduction geometry and local faults (see: Flowchart for the automatic generation of simulations).

The parameter patches.maxFaultDist defines the maximum horizontal distance that an event can have to the nearest point in the faults file for an automatic simulation to be started. Default value is 1 degree.


If you define your own faults file, make sure that the largest distance between neighboring fault lines belonging to the same geologic feature is not larger than twice the value of patches.maxFaultDist, otherwise there might be a region between lines where no simulations are generated. 1 degree is fine for the default file.


The file provided by gempa containing the fault definitions is: $SEISCOMP_ROOT/share/toast/faults.xml.example. This file has to be copied in order to be used and to make modifications introduced by the user persistent throughout TOAST updates.

sysop@host:~$ cd $SEISCOMP_ROOT/share/toast
sysop@host:~$ cp faults.xml.example faults.xml


TOAST is currently provided with a file (version 1.1) containing almost 200 fault lines covering most subduction zones world wide. For instance, it contains all contour lines from the slab2-model between 20 and 80 km depth. The lines at 0 km depth are either from the RUM-model (Gudmundsson & Sambridge, 1998), generated manually according to literature and bathymetry or from the previous version of the file (in which case reference is not set).


Below is an example for the structure of the file:

<gempa faults_version="1.1">
  <fault checked="true" depth="0.0" id="020" name="Calabria 0 km" reference="" type="reverse">
    <vertex dip="11" rake="90" strike="275">
    <vertex dip="11" rake="90" strike="297">
  <fault checked="true" depth="20.0" id="021" name="Calabria 20 km #1" reference="Slab2" type="reverse">

The file contains several fault elements which have vertex sub-elements. Faults and vertices can be added, modified and removed manually via text editor or using the faulteditor-tool provided by gempa. The format of the file is described below.

Fault definitions file explanation




Version of the fault definitions.


Fault description including the attributes
  • checked (if true then the fault is used for patch generation)

  • depth (in km)

  • id (unique)

  • name (arbitrary, can be shown in map view)

  • reference (to fault source)

  • type (reverse for subduction zones)


Vertex description including the attributes dip, rake, and strike. For definitions see for instance: openSHA.


Latitude coordinate of the vertex.


Longitude coordinate of the vertex.

Forecast zones configuration

Forecast zones are geographical regions - oftentimes corresponding to political districts - for which a specific tsunami early warning bulletin is generated. Technically, the forecast zones are associated with forecast points for which simulation results are either computed on-the-fly or by extraction from a precalculated database.

See also: Forecast Zones perspective and: Forecast zones.

You can use gsm to install a set of predefined example forecast zones and points files:

sysop@host:~$ cd install/gsm
sysop@host:~$ ./gsm install forecastzones-rtsp

See Forecast zones and points file formats if you want to generate you own set of forecast zones and points files.

The forecast zones and profiles can be configured using scconfig.


The forecast zones are configured at gempa ‣ toast, while the forecast points are configured at plugin level, e.g. gempa ‣ easywave2 if used together with EasyWave.

First, add a forecastZones profile, configure the parameters and register the profile:


forecastZones.rtsp.filename = /home/data/forecastzones/rtsp/6.0/cfz/CFZ_Version_6p0
forecastZones = rtsp

Then, add a forecastPoints profile, configure the parameters and register the points profile:


forecastPoints.rtsp.filename = /home/data/forecastzones/rtsp/6.0/cfp/CFP_Version_6p0.dbf
forecastPoints = rtsp

Forecast zones and points file formats


Forecast zone and forecast point files are usually provided by the customer. They can be created using GIS software like QGIS. The extent of a forecast zone is related to local administrative districts, typically it is between 50 and 500 km. The number of points in a zone should be such that they cover the geographical area and geological features of the zone and can vary between a couple to a couple tens of points. Consult the example forecast files as a starting point. Consider that runup values for a zone are aggregated as described in Aggregation strategy. Make sure to check the points against the bathymetry used for simulations. See below the suggested naming scheme for the IDs of the zones and points.

Forecast zones

The forecast zones geographical outlines are defined in shapefiles (ending .shp). Attributes data are stored in dBase files (ending .dbf), and a third file (ending .shx) is used as index. The .dbf file may contain any attributes, following are used by TOAST:

Forecast zones metadata




Forecast Zones Perspective



Unique forecast zone ID




Place name




Forecast zone name




Country name




Country abbreviation

Geo code



Province name


The EX_BOX_ID (Exclusive Box Id) is mandatory and has to be unique (hence exclusive) as it is used as identifier for the forecast points (see below). All other parameters are optional, but the more information is provided the better.

Forecast points

For each forecast zone TOAST needs a set of forecast points. The points are stored in binary files in dBase format (ending .dbf). Following attributes in a forecast point file are used by TOAST:

Forecast points metadata




Forecast Zones Perspective



Unique forecast point ID

ID (upon expanding)



Link to forecast zone ID




Latitude value

Geo code



Longitude value

Geo code



Place name




Country name




Province name


Place_NAME, COUNTRY and STATE_PROV are optional and are derived from the associated zone if they are not set.


For the attributes EX_BOX_ID in the forecast zones and CFPNO in the forecast points we recommend a naming scheme using the country phone code. In this way, it is guaranteed that the IDs are unique throughout all zones and points. For instance, for Algeria having code +213 that would be: EX_BOX_ID: 2130001, 2130002, … CFPNO: 21300000001, 21300000002, …

Simulation bathymetry files configuration

In order for a tsunami on-the-fly-simulation to be computed (in contrast to a pre-computed scenario), a directory containing the bathymetry file(s) for the simulation backend has to be provided. In case of EasyWave, the directory is configured at

Example: = /home/data/bathymetry/

You can use gsm to install a set of bathymetry files for EasyWave:

sysop@host:~$ cd install/gsm
sysop@host:~$ ./gsm install bathymetry

See Source regions configuration on how to configure the default bathymetry for the simulations within a source region.

Creating bathymetry files

TOAST is provided with bathymetries suiting the needs of the customer. Additional bathymetry files for EasyWave can be made by the following procedure:

  • Generate and download an ascii-grid with bathymetry from NOAA:

    • NOAA Grid Extract

    • select ‘ETOPO1 (bedrock)’

    • click on the ‘i’ symbol above the zoom slider and select a region

    • select ‘ArcGIS ASCII Grid’

    • download

  • Convert the file to Surfer 6 grd format as used by EasyWave using the script:

    • /home/sysop/seiscomp/share/toast/scripts/ in the following way:

    • <ascii_file> <output_file>

    • move the *.grd file to the bathymetry directory

In case of EasyWave, the bathymetry has to be provided in Golden Software Surfer 6 binary (preferred) or text format.


To display the bathymetry which was used for a simulation in map view with color coding, select a simulation and click Bathymetry in the Map Layers panel. Note that this works only for binary, not for text format grid files.

To show the outline of a bathymetry file as green line, go to the Simulation backend settings in the interactive simulation dialog and select the respective bathymetry (grid).

Source regions configuration

Source regions define polygon coordinates within which simulations should be started. See: Flowchart for the automatic generation of simulations.

Use gsm to install a set of predefined example source region files:

sysop@host:~$ cd install/gsm
sysop@host:~$ ./gsm install sourceregions

Using scconfig, add a sourceRegion profile and configure the parameters.

Register the profile at: sourceRegions.


sourceRegion.IndianOcean.aoi = /home/data/sourceregions/IndianOcean.bna = io_rtsp
sourceRegions = IndianOcean

In the following figure, the sourceRegion defined in the profile above is shown as black line, and the outline of the default bathymetry associated with this sourceRegion is shown in green.


Source region (black line) and default bathymetry outline (green)


To show source regions as black lines, copy their bna files to one of the two locations:

  • $SEISCOMP_ROOT/share/bna

  • ~/.seiscomp/bna

bna polygons


You can create bna polygons manually in the Map perspective. Click and hold the CTRL-key and do a series of left-mouse clicks. On the lower left you can see total length and area covered by the polygon. Then right-mouse click -> Measurements -> Save as BNA File.

Live tabs and templates configuration

See: Export on how to configure live tabs and templates for the generation and dissemination of tsunami warning bulletins.

Color profiles and gradients configuration

The default color profiles and gradients for the various features like maximum wave height, forecast zones or bathymetry are stored in the file /home/sysop/seiscomp/share/toast/mapstyles.default and the user-defined color profiles and gradients in /home/sysop/seiscomp/share/toast/mapstyles, both defined in JSON format 1.

The color settings can be changed directly in TOAST using the color editor or color profile editor as described in Create and modify color profiles.


If a gradient or color profile is not properly defined or present, the default gradient is used for the corresponding feature.


All changes made in /home/sysop/seiscomp/share/toast/mapstyles.default are overwritten with the next TOAST update.