= [http://geosys.usc.edu/projects/seatree/wiki/ SEATREE] distribution = [[PageOutline]] == License and availability == SEATREE is distributed under the [http://geosys.usc.edu/projects/seatree/browser/trunk/COPYING 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. [http://www-udc.ig.utexas.edu/external/becker/preprints/mbbssw08.pdf PDF] and the relevant original papers depending on the module. SEATREE is now released as version 2.0.2 (May 2016), see the [wiki:bugs 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, * [http://www-udc.ig.utexas.edu/external/becker/ugesce.html VirtualBox Linux OS with SEATREE and iGMT preinstalled (Unified Geodynamics Earth Science Computing Environment, UGESCE)] but there is also a more modern LINUX variant (with the same SEATREE install), the * [https://geodynamics.org/cig/static/CIDER16_TutorialVM.ova VirtualBox Linux OS with SEATREE preinstalled (CIG CIDER 2016 packages, 4GB!)], with [https://wiki.geodynamics.org/cig16 installation instructions]. === 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. [https://github.com/thwbecker/seatree 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 [http://www-udc.ig.utexas.edu/external/becker/ugesce.html 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): [http://www-udc.ig.utexas.edu/external/becker/ugesce/SEATREE64-2015.vdi.tgz Download the gzipped 5.2 GB virtual disk], [http://www-udc.ig.utexas.edu/external/becker/ugesce/SEATREE64-2015.vdi.bz2 download the bzipped 4.4 GB virtual disk], [http://www-udc.ig.utexas.edu/external/becker/ugesce/SEATREE64-2015.zip download the zipped 5.2 GB virtual disk (for Windows)], and see our [http://www-udc.ig.utexas.edu/external/becker/ftp/seatree_virtualbox_install.txt instructions on the use of the Unified Geodynamics Earth Science Computing Environment]. ==== Fully automated installation ==== Download the [http://geosys.usc.edu/projects/seatree/browser/trunk/install_seatree?format=raw 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 http://www-udc.ig.utexas.edu/external/becker/software/seatree.recent.tgz]. The release includes a [wiki:screenshots fully functional GUI] and drivers for [wiki:hc_docu hc], [wiki:larry_docu larry], [wiki:larry3d_docu larry3d], [wiki:syn2d_docu syn2D], and [wiki:conman 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 [https://github.com/thwbecker/seatree current source code at GitHub], or check out the [https://github.com/thwbecker/seatree 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 [wiki:hc_docu hc] and [wiki:nonlinloc nonlinloc]) and Fortran (for [wiki:conman ConMan], [wiki:larry_docu larry], larry3d, and [wiki:syn2d_docu 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., [http://www.eecs.wsu.edu/~schneidj/mac-os-x-10.3.html#compiler 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 [http://www.finkproject.org/ fink] (for Mac OS-X), [http://fedoraproject.org/wiki/Tools/yum yum] (e.g. Fedora Linux), or [http://wiki.linuxhelp.net/index.php/Apt-get_Guide apt-get] (e.g. Ubuntu Linux). You will have to have these individual packages installed: * [http://www.python.org/ Python]: Python alone will give you more sophisticated scripting capabilities, - for the graphical user interface, you'll also need to add [http://www.pygtk.org/ pygtk] - Python packages numpy (and numeric, for NonLinLoc, if not included in your numpy distribution anymore) - [http://matplotlib.sourceforge.net/ matplotlib] is needed for additional plotting functionality The simplest approach may be to obtain the [https://www.enthought.com/products/getepd.php 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. * [http://www.unidata.ucar.edu/software/netcdf/ NetCDF, including Development Kit] Used by GMT. Make sure to install the version of NetCDF mentioned in section B.1 [http://gmt.soest.hawaii.edu/gmt4/ here] * Must have the following files/libraries: * libnetcdf.a (for static linking) * netcdf.h * netcdf.inc * libnetcdf.so (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). * [http://www.imagemagick.org/ ImageMagick] Used to convert postscript to PNG for display. * [http://www.paraview.org Paraview] for 3D flow visualization. === Fully automated installation === The [http://geosys.usc.edu/projects/seatree/browser/trunk/install_seatree?format=raw 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 {{{ ~/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. 2. 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 {{{ /home/becker/walter/progs/src/cig/ConMan/src/ }}} where {{{/home/becker/walter/progs/src/cig/ConMan/}}} is where I put the CIG version of the ConMan code. == Documentation == === [http://www-udc.ig.utexas.edu/external/becker/preprints/mbbssw08.pdf Brief EOS report] === === [wiki:UserDocs User documentation] === === [wiki:DevDocs Developer documentation] === === Mac OSX comments === The simplest approach may be to obtain the [https://www.enthought.com/products/getepd.php 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, [http://developer.imendio.com/node/175 this thread] may help. Other installation comments (from Marc Spiegelman, LDEO) 1. have a reasonably recent python from http://www.python.org/ 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 http://gcc.gnu.org/wiki/GFortranBinaries 5. when building Larry setenv F77 gfortran setenv F90 gfortran === [wiki:bugs Bug reports, feedback, and release history] === See our [wiki:bugs SEATREE version history page] for recent changes.