Repository navigation
Modules
SEATREE is module-based, allowing researchers to add their own tools. Current modules include:
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:
- Select "ConMan" from module menu
- Configure grid parameters (steps, Rayleigh number, aspect ratio)
- Click "Prepare Input" to generate configuration
- Click "Start" to run calculation
- Use Play/Pause/Stop controls to view results
- Toggle "Averages" to show temperature statistics
- 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
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:
- Select "HC-Flow Calculator" from module menu
- Configure density model and viscosity profile
- Select boundary conditions (free slip/plate velocities)
- Compute velocities or tractions
- Plot geoid, velocities, or stress fields
- Export results as PostScript or PNG
Location: modules/mc/hc/
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/
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/
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:
- Select "Syn2D" from module menu
- Create model (checkerboard or from image)
- Configure data acquisition (number of rays, noise level)
- Shoot rays through model
- Run inversion with damping parameter
- Compare input model with inversion result
Location: modules/seismo/syn2d/
Description: Probabilistic earthquake location inversion.
Features:
- Non-linear location algorithms
- 3-D velocity models
- Phase association
- Grid search methods
Location: modules/seismo/nonlinloc/
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
To add a new module to SEATREE:
-
Create module class inheriting from
Modulebase class -
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
-
-
Add module to configuration:
- Edit
python3/conf/conf.xml - Add module entry with class name and import path
- Edit
-
Create module configuration:
- Create
python3/conf/<module>/<module>Conf.xml - Specify paths to binaries and data
- Create
See existing modules for examples.