hc module
hc is a C-language implementation of a Hager & O'Connell (1981), semi-analytical, propagator matrix approach to solving for velocities and tractions in spherical shell Stokes flow in the presence of only radially varying viscosity.
This code is based on work by Bernhard Steinberger who modified the original source from Brad Hager and Rick O'Connell.
Bernhard's F77 was rewritten in C by Thorsten Becker and Craig O'Neill in 2006 during the CIG mantle flow benchmarking effort.
References
- Becker, T.W., O'Neill, C., and Steinberger, B. (2009): HC, a global mantle circulation solver. Available online at http://www.geodynamics.org/cig/software/hc, accessed 08/2011.
- Hager, B. H. and O’Connell, R. J. (1981). A simple global model of plate dynamics and mantle convection J. Geophys. Res. 86, 4843
- Steinberger, B. and A. Calderwood (2006). Models of large-scale viscous flow in the Earth's mantle with constraints from mineral physics and surface observations, Geophys. J. Int., 167, 1461.
Screenshots of hc run from within SEATREE
Availability
A current version of hc can be found is included in the SEATREE distribution.
The development version of hc is hosted at CIG's SVN server.
Requirements
A C compiler such as gcc for command line functionality, GMT for advanced functionality.
Installation
hc needs to be compiled before it can be used within SEATREE or as a standalone. This can be done automatically using the SEATREE installation process, or by hand. To install hc by hand, extract the tar file, follow the instructions in the README, and type "make".
Documentation
1. Use of hc within the Seatree environment is described in the Seatree user documentation.
2. Use of hc from the python command line interface is described in the python driver help page
> ../../../py-drivers/py-hc/calc_vel_and_plot.py -h
Usage: calc_vel_and_plot.py [options]
Options:
-h, --help show this help message and exit
--compute=COMPUTE 0: only plot 1: compute velocities or tractions with
HC (default = 1)
--cdir=COMPUTEDIR, --compute-dir=COMPUTEDIR
directory to store computation results
--dfac=DFAC, --density-factor=DFAC
density file scaling factor (default = 0.25)
--dsf=DSF, --density-scaling-file=DSF
density scaling factor file (depth-dependent, like
viscosity), overrides --dfac (default = )
--dt=DENSTYPE, --density-type=DENSTYPE
density SH type (dshs is short Becker & Boschi
tomography type, default = dshs)
--dm=DENSMODEL, --density-model=DENSMODEL
density model, assumes % anomalies (default =
/home/walter/becker/progs/src/seatree/py-drivers/py-
hc/example_data/smean.31.m.ab)
--free-slip use free slip boundary condition (default = True)
--gmt-path=GMTPATH path to GMT binarym if not in system path
--hc=HCPATH, --hc-path=HCPATH
path to HC binary, if not in system path
--layers=LAYERS comma separated layers for velocity or traction
plotting (default = 21,15,6,2)
--no-slip use no slip boundary condition (default free slip)
--plot=PLOT for plotting, supply 1 or more of the following
options: 'g' to plot geoid, 'v' to plot plate
velocities, 't' to plot radial tractions, 'n' for none
(default = gvt)
--pdir=PLOTDIR, --plot-dir=PLOTDIR
directory to store plots
--pvel=PLATEVELF, --plate-velocity-file=PLATEVELF
use plate velocity boundary condition, overrides -f
and sets -n
--verbosity=VERBOSITY
verbosity level between 0 and 3 (default = 1)
--vf=VISCFILE, --viscosity-file=VISCFILE
viscosity file (default =
/home/walter/becker/progs/src/seatree/py-drivers/py-
hc/example_data/visc.C2)
Cleaning Up...
3. Use of the individual hc binaries is described in a readme file.


