SEATREE distribution

License and availability

SEATREE is distributed under the GNU public license without any warranties whatsoever. Computational modules as included with SEATREE might hold different copyrights, please refer to the module documentation for references to original scientific work. If you use SEATREE, please cite

  • Milner, K., Becker, T. W., Boschi, L., Sain, J., Schorlemmer, D. and H. Waterhouse: The Solid Earth Research and Teaching Environment: a new software framework to share research tools in the classroom and across disciplines. Eos Trans. AGU, 90, 12, 2009. PDF

and the relevant original papers depending on the module.

SEATREE is now released as version 2.0.2 (May 2016), see the SEATREE version history page for a list of changes.


The download of SEATREE as a standalone is described below and should be fairly painless on LINUX or Mac OS-X. However, there are also


options which provide a complete SEATREE install in a LINUX operating system that can be run from any host using the free VirtualBox software (available on OS-X, LINUX, and Windows). We have had our own VirtualBox since 2012,

but there is also a more modern LINUX variant (with the same SEATREE install), the

Regular Download

Should you not wish to install the whole VirtualBox packages, most users will want to follow the fully automated install procedure. For system software requirements that are needed for this route, see below.

For users familiar with the untar-make-make install cycle, we suggest to rather download the tar ball and follow the SEATREE installation procedure.

Given that SEATREE is in active development, users familiar with GitHub? might prefer to subscribe to the development version which we use. The SEATREE GitHub repository holds all codes, including earthquake location module, which is not yet included in the latest release.

A SEATREE install requires a few prerequisites (see below); this should all be OK on Linux and Mac OS-X, but in case it's not, or you just want to quickly test the software, we also provide a Linux VirtualBox machine which has SEATREE and all other required software installed within the Unified Geodynamics Earth Science Computing Environment.

The corresponding files are quite large, but have all you need to run Linux from any OS (VirtualBox is free and available for Windows, OS-X and Linux): Download the gzipped 5.2 GB virtual disk, download the bzipped 4.4 GB virtual disk, download the zipped 5.2 GB virtual disk (for Windows), and see our instructions on the use of the Unified Geodynamics Earth Science Computing Environment.

Fully automated installation

Download the install_seatree script and execute from a directory where you wish to place the SEATREE source code, such as $HOME/progs/ or /usr/local/src.

sh -x install_seatree

This will attempt to download the most recent tar ball from the web, unpack it, and run the SEATREE installation process for you (see below).

Tar-ball with source

The most recent release of SEATREE in a single tar file which includes the GUI and the most stable modules is available from

The release includes a fully functional GUI and drivers for hc, larry, larry3d, syn2D, and ConMan. You will need this file if you do not choose to subscribe to our GitHub? version, and either obtain it manually or by running the fully automated installer.

Developer source code access

You can inspect the current source code at GitHub, or check out the current source code at GitHub repository by

git clone

To install, then follow the SEATREE installation procedure below.


Should you not use the VirtualBox options, some further installation steps are required.

Required Software Packages

All individual computational modules should compile and work fine when run from the command line. For the compilation, C (for hc and nonlinloc) and Fortran (for ConMan, larry, larry3d, and syn2d) compilers (such as GNU gcc and gfortran, which we use for development) need to be available. Compilers will typically be available on a regular Linux install, and can be added easily to Mac OS-X (see, e.g., this page).

However, the GUI and scripting functionality (i.e. the main contribution of SEATREE) will require further software. Often all of this can be installed very easily on a OS-X or Linux system using fink (for Mac OS-X), yum (e.g. Fedora Linux), or apt-get (e.g. Ubuntu Linux).

You will have to have these individual packages installed:

  • Python: Python alone will give you more sophisticated scripting capabilities,
    • for the graphical user interface, you'll also need to add pygtk
    • Python packages numpy (and numeric, for NonLinLoc?, if not included in your numpy distribution anymore)
    • matplotlib is needed for additional plotting functionality

The simplest approach may be to obtain the Enthought Python Distribution. This software package is free for academic users and contains all of the individual packages below. It is available for Mac-OSX, Windows, and Linux.

  • [ Generic Mapping Tools (GMT) version 4.x.x (not 5)] including Coastline Data Used for generating postscript plots to visualize output. GMT provides a useful interactive source install script that can also install a compatible version of NetCDF. Building GMT and NetCDF this way should guarantee all necessary libraries and links are satisfied.
  • NetCDF, including Development Kit Used by GMT. Make sure to install the version of NetCDF mentioned in section B.1 here
    • Must have the following files/libraries:
      • libnetcdf.a (for static linking)
      • netcdf.h
      • (for shared linking)

If you are installing from a package manager such as apt-get, yum, or fink, please make sure to get the "developer" versions of the GMT and NetCDF packages, i.e. those that do not only include the binaries, but also the libraries needed for compiling. Also, make sure to get a version of NetCDF supported by GMT (versions > 3.6.3 may break certain seatree packages).

Used to convert postscript to PNG for display.

Fully automated installation

The install_seatree script will download the tar file for you and attempt the next step.

SEATREE installation

  1. Download the tar file, unpack and change into the directory where you unpacked SEATREE.

Here, I will use my install directory


as an example directory from which the python scripts are run. Replace the version string "seatree-2.0-092511" with whatever version you are using.

  1. Run the automated installer. This can be done with
    becker@walter:~/tmp/seatree-2.0-092511> ./configure 
    configure: CC: gcc CFLAGS: -O2 -Wall -funroll-loops -fomit-frame-pointer -DLINUX_SUBROUTINE_CONVENTION -DUSE_GZDIR
    configure: F77: gfortran FFLAGS: -x f77-cpp-input -Wno-tabs -O2 -Wall -funroll-loops -fomit-frame-pointer -DLINUX_SUBROUTINE_CONVENTION
    configure: running in python/seatree/install subdirectory
    Setting up GMT
    GMT appears to be in your system path already...
    Specify another path (y/n default: n)? 
    Loading Modules...
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/1_hc.xml
    Found FlowCalc
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/2_syn2d.xml
    Found Syn2D
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/3_conman.xml
    Found ConMan
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/4_larry.xml
    Found Invert
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/5_nll.xml
    Found NonLinLoc
    Parsing /home/becker/tmp/seatree-2.0-092511/python/conf/install/6_larry3d.xml
    Found larry3d
    Installing Module: FlowCalc
    Installing FlowCalc
    Build HC (note: you must do this once) (y/n default: y)? 
    GMT Home: /home/becker/progs/src/GMT4.5.7/
    NetCDF Home: /usr/local/src/netcdf-3.6.3/
    HC Directory: /home/becker/tmp/seatree-2.0-092511/modules/mc/hc
    1) GMT 3.4.5
    2) GMT 4.x.x
    Select GMT version from above (default: 2): 
    CPU Architecture (default: x86_64): 
    Building HC...
    Installing Module: Syn2D
    Installing Syn2D
    Build Syn2D Binaries (note: you must do this once) (y/n default: y)? 
    Syn2D Directory: /home/becker/tmp/seatree-2.0-092511/modules/seismo/syn2d
    Detected GNU Fortran Compiler, checking $FFLAGS for fixed line length flag
    Building Syn2D...
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/syn2d; make clean
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/syn2d; make build_only
    Installing Module: ConMan
    Installing ConMan
    ConMan found in '/home/becker/tmp/seatree-2.0-092511/modules/mc/ConMan'
    Would you like to use this installation of ConMan? (y/n default: y)? 
    Build ConMan Binaries (note: you must do this once) (y/n default: y)? n
    WARNING: The path to chkbd could not be determined...if you haven't built chkbd using this installer then chkbd must already be in your system path!
    Installing Module: Invert
    Installing Larry-Invert
    Build Larry (note: you must do this once) (y/n default: y)? 
    Larry Directory: /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry
    Building Larry...
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry; make clean
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry; make
    Installing Module: NonLinLoc
    Installing NonLinLoc
    Build NonLinLoc Binaries (note: you must do this once) (y/n default: y)? 
    Building NonLinLoc...
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/nonlinloc/nll/src; make clean
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/nonlinloc/nll/src; make
    Installing Module: larry3d
    Installing Larry3d-Invert
    Build Larry3d (note: you must do this once) (y/n default: y)? 
    Larry3d Directory: /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry3d
    Building Larry3d...
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry3d; make clean
    COMMAND: cd /home/becker/tmp/seatree-2.0-092511/modules/seismo/larry3d; make
    Converting model data to binary...
    Link to 'seatree' executable from /usr/bin/seatree? (y/n default: y)? 
    ERROR: You do not have write priviledges to /usr/ as a System Administrator!
    configure: SEATREE installation done. type seatree in current directory
    configure: /home/becker/tmp/seatree-2.0-092511
    configure: for GUI interface. If you did not install globally, you might want to set an alias
    configure: such as
    alias seatree /home/becker/tmp/seatree-2.0-092511/seatree
    configure: done

Note how the installer automatically configures default setting for the python SEATREE GUI, checks for existing modules, and then loops through all modules to install then. In this case, the installer configured and compiled hc and larry. If everything works OK, you should end up with a link to the main python script in (at least) the installation directory

more seatree

i.e. you should be able to type


to run the software and bring up the GUI.

Note that in the above install example, we were not able to link to a system-wide binary because we were not installing as root but as a user, which is OK. You will simply have to call the seatree script by its full name. Also note that the ConMan install is not fully automated yet. You'll have to obtain ConMan from CIG, compile it, and then modify, by hand, such that the file ~/tmp/seatree-2.0-092511/python/conf/conman/conmanConf.xml in your install directory has the path to the binaries in it

<?xml version="1.0" encoding="UTF-8"?>

where /home/becker/walter/progs/src/cig/ConMan/ is where I put the CIG version of the ConMan code.


Brief EOS report

User documentation

Developer documentation

Mac OSX comments

The simplest approach may be to obtain the Enthought Python Distribution. This software is free for academic users and contains all of the required, python-related packages below. Should you wish to install the individual packages, and are having problems installing PyGTK, this thread may help.

Other installation comments (from Marc Spiegelman, LDEO)

  1. have a reasonably recent python from e.g. python2.4
  2. if not installed, use Fink to install
    • GMT
    • netCDF
    • gtk
    • pygtk these will normally be installed in /sw (and the path for GMT and netCDF will be /sw )
  3. make sure PYTHONPATH includes /sw/lib/python2.4/site-packages (for pygtk) (and anywhere else)
  4. If you need a fortran complier (i.e. to build Larry) install gfortran
  5. when building Larry setenv F77 gfortran setenv F90 gfortran

Bug reports, feedback, and release history

See our SEATREE version history page for recent changes.

Last modified 7 months ago Last modified on 10/18/17 19:39:45