Skip to content
/ Hdef Public

Tools for computing deformation in an elastic half-space

License

Notifications You must be signed in to change notification settings

mherman09/Hdef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hdef version 2021.02.01

The primary purpose for this suite of codes is the forward calculation of displacements, strains,
and stresses in an elastic half-space (hence, H(alfspace)def(ormation)...). The sources are fault
slip models, using the solutions derived in Okada (1992) and in Meade (2007). The main engines can
be found in the file okada92_module.f90 and tri_disloc_module.f90. Most of the programs are designed
to use these routines in a variety of seismological and geodetic applications.

There are also several other programs that I wrote as I came across other applications in
Geodynamics (so in that sense maybe Hdef stands for "Herman Deformation" toolbox). I got tired of
always rewriting and recalculating and looking up certain equations and typing them into my
calculator or Matlab, so I wrote some simple codes to have these results at my fingertips. These are
included, and you may find them useful as well.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

INSTALLATION

Directions for installation are in the file INSTALL.
Tutorials can be found at my website: http://www.matthewwherman.com/software.html
Man pages for most of the programs and some of the scripts are in the man/ directory.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LICENSE

There are no guarantees: happy? I think these results are correct, and I have used these codes to
make calculations for peer-reviewed publications, but I cannot guarantee that there are no bugs. If
you think you have found a bug, please report it to me at:

matthew.w.herman@gmail.com

Feel free to change the codes and use them as you see fit. Please check out the LICENSE when you use
the software.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CITING HDEF

Please cite the code with the following DOI: https://doi.org/10.5281/zenodo.3894137. You may also
want to cite uses of the tools in Hdef in addition to the software itself. The first published
papers using early versions of Hdef are:

	Herman, M.W., Herrmann, R.B., Furlong, K.P., Benz, H.M. (2014). Using regional moment tensors to
		constrain the kinematics and stress evolution of the 2010–2013 Canterbury earthquake
		sequence, South Island, New Zealand. Tectonophysics 633, 1-15.

	Herman, M.W., Furlong, K.P., Hayes, G.P., Benz, H.M. (2016). Foreshock triggering of the 1 April
		2014 Mw 8.2 Iquique, Chile, earthquake. Earth and Planetary Science Letters 447, 119-129.


The methods behind the Bayesian locking inversion capabilities in fltinv were published in:

	Herman, M.W., Govers, R. (2020). Locating fully locked asperities along the South America
		subduction megathrust: a new physical inter‐seismic inversion approach in a Bayesian framework.
		Geochemistry, Geophysics, Geosystems 21, e2020GC009063.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Programs in Hdef:

COMPILED
	anneal_post            post-process an annealing run from fltinv
	clip                   determine whether x-y points are inside a polygon
	colortool              generate perceptually linear color maps
	dateutil               convert from/to dates and number of days
	distaz2lola            compute coordinates given distance/azimuth from a geographic point
	ff2gmt                 convert finite fault parameters to GMT-usable format
	fitutil                fit a set of x-y points using least-squares
	fltinv                 invert geodetic data for fault slip
	grid                   generate evenly spaced Cartesian and geographic points
	interpolate            interpolate between x-y points
	lola2distaz            compute distance/azimuth between coordinate pairs
	mtutil                 convert between seismic source characteristics
	numint                 integrate input function numerically
	o92util                compute displacement, stress, strain from rectangular fault source
	perspective            project 3-D object in perspective view
	platemotion            compute velocity for plate pair or Euler pole
	rangen                 generate random numbers
	readGCMT               read and parse GCMT catalog
	readkik                read strong motion in KiK-net format
	sphfinrot              make finite rotation on sphere
	stereo_project         compute forward and inverse stereographic projections
	tri_tool               manipulate triangular meshes
	triutil                compute displacement, stress, strain from triangular fault source
	vec2los                project displacement vector onto line of sight
	wraplos                wrap LOS displacement given observation frequency

BASH SCRIPTS
	coul_dip.sh            plot Coulomb stress changes on a dipping plane (map view)
	coul_hor.sh            plot Coulomb stress changes on a horizontal plane (map view)
	coul_xsec.sh           plot Coulomb stress changes on a vertical cross-section
	gmtcpt.sh              make GMT color palette from (nice) existing color maps
	insar.sh               plot line-of-sight and wrapped displacements (map view)
	simplify_ffm.sh        remove slip less than threshold value from FFM (pretty outdated...)
	surf_disp.sh           plot surface displacements (map view)
	ternary.sh             plot earthquakes on ternary discriminant diagram
	trg_schem.sh           plot target fault kinematics

INCOMPLETE OR OUTDATED
	eqempirical            implement earthquake empirical relation
	eventfrequency         count frequency of a list of values
	multifit               fit data series with multiple functions
	polyfit                fit data series with a polynomial function
	utm2geo                convert UTM to geographic coordinates

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Libraries in Hdef:

	algebra_module.f90
	annealing_module.f90
	calendar_module.f90
	earth_module.f90
	elast_module.f90
	eq_module.f90
	ffm_module.f90
	geom_module.f90
	interpolation_module.f90
	io_module.f90
	map_module.f90
	misfit_module.f90
	okada92_module.f90
	random_module.f90
	solver_module.f90
	test_module.f90
	tri_disloc_module.f90
	trig_module.f90

About

Tools for computing deformation in an elastic half-space

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages