Personal tools
You are here: Home Software TERRA Visualization in Paraview, Gocad etc.

Visualization in Paraview, Gocad etc.

When visualizing TERRA data, the most common problems are the size of the datasets and the spatial distribution:

  • With a grid spacing of around 25 km, there are in total over 80 million grid points, which is on the upper limit of what typical visualization tools on standard hardware can handle. And if it is possible, then it is often too slow for an intuitive interaction.
  • The data is split up into spatially incoherent pieces; every process computes 5 or 10 partitions that are distributed over one or two hemispheres. In order to view a horizontally contiguous part of the model, one has to load a great share of the data partitions, even if only a single layer is needed.

To address these issues, there is an export tool which loads all data partitions and can then export arbitrary layers and arbitrary diamonds in different file formats - Paraview, Gocad and xyz ASCII tables. Here it is:


./ c*.*.00

(The export process itself is interactive; once all the data is loaded, arbitrary parts can be exported successively.)

Grid Layout

A visualization of the diamonds, combined with coastlines, is given in this Paraview file: terra_diamonds_coastlines.vtp


This is the perldoc information (will be displayed when running the program without options and parameters):

NAME - An export program for TERRA output files

SYNOPSIS inputfiles ... -e -h

DESCRIPTION is an export program which can export TERRA simulations into several output formats for visualization:

  • Paraview (binary *.vtk unstructured grid format)
  • Gocad (TSolid *.ts format)
  • xyz format (lon, lat, data values, separated by tabulator)

The program deduces the grid size from the number of input files and the header of the first input file. Thus, always the whole model has to be loaded. (If you are really just interested in a part of the dataset, specify the right number of empty files on the command line such that the total number of files is correct and that at least the first file contains a correct header.) The program generates the grid and connectivity and asks the user interactively for output options.

However, the program can also be run in a scripted mode. For this, the script is piped into STDIN. The script contains the same keypresses as in the interactive version. Comments (starting with the '#' sign) are ignored.

An example script can be requested by using the program with the parameter -h.

Scripts can also be recorded by piping STDOUT into a file. (All other output is written to STDERR.)


-e print the example script and exit the program

-h show help (this page)

EXAMPLES c300.00*.01

run interactively c300.00*.01.gz

run interactively, read compressed input files; for this, zcat must be available -h

show help (this page) -e

show example script -e > examplescript.txt

save example script c300.00*.01 > script.txt

run interactively, record inputs to script.txt c300.00*.01 < script.txt

run non-interactively, controlled by script -e | c300.00*.01

apply example script to dataset c300.0000.01 $(seq 1 31)

read only first partition of an MT64 simulation, replace rest of input files by dummy files (numbers from 1 to 31)

perl -pe '$.-1or$l=int($_/10+9);$.-$l||exit' c300.0016.03 > header.txt; header.txt $(seq 1 15) c300.0016.03 $(seq 17 31)

create dummy header as first file; read only 17th partition of an MT64 simulation, replace rest of input files by dummy files


The input syntax of the layers has still some bugs.


Christoph Moder <>


August 2011: first version released to

October 2011: new features: downsampling, variable horizontal size, scripting

This version: 2011-10-20

Document Actions