Skip to content

Modules

DUNYU LIU edited this page Oct 17, 2025 · 1 revision

SEATREE Modules

SEATREE is module-based, allowing researchers to add their own tools. Current modules include:

Available Modules

1. ConMan - 2-D Mantle Convection

Description: Finite element program for incompressible, infinite-Prandtl number convection in 2D.

Authors: Scott King, Arthur Raefsky, Brad Hager

Features:

  • Thermal convection modeling
  • Multiple benchmark problems
  • Real-time visualization with matplotlib
  • Animation export
  • Temperature field analysis

Usage:

  1. Select "ConMan" from module menu
  2. Configure grid parameters (steps, Rayleigh number, aspect ratio)
  3. Click "Prepare Input" to generate configuration
  4. Click "Start" to run calculation
  5. Use Play/Pause/Stop controls to view results
  6. Toggle "Averages" to show temperature statistics
  7. Save animations as GIF/PNG sequences

Location: modules/mc/ConMan/

Documentation: ConMan Manual

Citation: King, S. D., A. Raefsky, and B.H. Hager (2020), ConMan v3.0.0, doi:10.5281/zenodo.3633152


2. HC-Flow - 3-D Spherical Mantle Flow

Description: Driver for the HC (Hager & Clayton) tool for computing mantle flow from density anomalies.

Features:

  • Spherical harmonic calculations
  • Geoid computation
  • Plate velocity modeling
  • Poloidal/toroidal decomposition
  • GMT-based plotting

Usage:

  1. Select "HC-Flow Calculator" from module menu
  2. Configure density model and viscosity profile
  3. Select boundary conditions (free slip/plate velocities)
  4. Compute velocities or tractions
  5. Plot geoid, velocities, or stress fields
  6. Export results as PostScript or PNG

Location: modules/mc/hc/


3. Larry - Surface Wave Phase Velocity Tomography

Description: 2-D surface wave tomography inversion tool.

Features:

  • Phase velocity inversion
  • Regularization controls (damping)
  • Multiple solver options (Cholesky, LSQR)
  • GMT visualization

Location: modules/seismo/larry/


4. Larry3D - 3-D Body Wave Mantle Tomography

Description: 3-D body wave travel time tomography for mantle imaging.

Features:

  • Joint inversion of multiple data types
  • Isotropic damping controls
  • 3-D voxel models
  • Cross-section visualization

Location: modules/seismo/larry3d/


5. Syn2D - 2-D Synthetic Tomography

Description: Teaching module for synthetic tomography experiments.

Features:

  • Checkerboard and image-based models
  • Ray tracing with straight rays
  • Source/receiver placement
  • Resolution testing
  • Difference plots (model vs. inversion)

Usage:

  1. Select "Syn2D" from module menu
  2. Create model (checkerboard or from image)
  3. Configure data acquisition (number of rays, noise level)
  4. Shoot rays through model
  5. Run inversion with damping parameter
  6. Compare input model with inversion result

Location: modules/seismo/syn2d/


6. NonLinLoc - Earthquake Location

Description: Probabilistic earthquake location inversion.

Features:

  • Non-linear location algorithms
  • 3-D velocity models
  • Phase association
  • Grid search methods

Location: modules/seismo/nonlinloc/


Module Structure

Each SEATREE module follows a standard structure:

modules/<category>/<module_name>/
├── src/              # Source code (Fortran, C, etc.)
├── bin/              # Compiled binaries
├── objects/          # Object files
├── <module>.py       # Python wrapper
├── <module>GUI.py    # GUI panel
└── README.md         # Module documentation

Adding Your Own Module

To add a new module to SEATREE:

  1. Create module class inheriting from Module base class

  2. Implement required methods:

    • __init__(): Initialize module
    • getPanel(): Return GTK widget for control panel
    • setDefaults(): Initialize with main window reference
    • getPlotter(): Return plotter widget
    • getOutput(): Return command history
    • clearOutput(): Clear command history
    • cleanup(): Clean up resources
  3. Add module to configuration:

    • Edit python3/conf/conf.xml
    • Add module entry with class name and import path
  4. Create module configuration:

    • Create python3/conf/<module>/<module>Conf.xml
    • Specify paths to binaries and data

See existing modules for examples.