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.
Downloads
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
VirtualBox
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
- VirtualBox Linux OS with SEATREE preinstalled (CIG CIDER 2016 packages, 8GB!) (hc_user, no password, start from Desktop)
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
http://www-udc.ig.utexas.edu/external/becker/software/seatree.recent.tgz.
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 https://github.com/thwbecker/seatree.git
To install, then follow the SEATREE installation procedure below.
Installation
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.
- [http://gmt.soest.hawaii.edu/gmt4/ 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
- netcdf.inc
- libnetcdf.so (for shared linking)
- Must have the following files/libraries:
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.
- Paraview for 3D flow visualization.
Fully automated installation
The install_seatree script will download the tar file for you and attempt the next step.
SEATREE installation
- Download the tar file, unpack and change into the directory where you unpacked SEATREE.
Here, I will use my install directory
~/tmp/seatree-2.0-092511/
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.
- 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 install.py 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... Success! 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 Success! 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 Success! 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 Success! 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 Success! Converting model data to binary... Success! Link to 'seatree' executable from /usr/bin/seatree? (y/n default: y)? ERROR: You do not have write priviledges to /usr/bin...run 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
becker@walter:~/progs/src/seatree> more seatree #!/bin/sh /home/walter/becker/progs/src/seatree/install/../py-drivers/py-gui/SEATREE.py
i.e. you should be able to type
./seatree
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"?> <ConManConfiguration> <conmanPath> /home/becker/walter/progs/src/cig/ConMan/src/ </conmanPath> </ConManConfiguration>
where /home/becker/walter/progs/src/cig/ConMan/
is where I put the CIG version of the ConMan code.
Documentation
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)
- have a reasonably recent python from http://www.python.org/ e.g. python2.4
- 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 )
- make sure PYTHONPATH includes /sw/lib/python2.4/site-packages (for pygtk) (and anywhere else)
- If you need a fortran complier (i.e. to build Larry) install gfortran http://gcc.gnu.org/wiki/GFortranBinaries
- when building Larry setenv F77 gfortran setenv F90 gfortran
Bug reports, feedback, and release history
See our SEATREE version history page for recent changes.