Breckenridge, Colorado, USA

Matthew Herman

Assistant Professor
Department of Geological Sciences
California State University, Bakersfield

Hdef (Half-space Deformation Toolbox)


A fault slip event, like an earthquake, produces a characteristic pattern of displacements and strains in the surrounding rock. If this material is assumed to be an elastic half-space (a simplifying assumption that reflects some geological processes well), the deformation can be described by a set of analytic equations, as Y. Okada showed in his 1985 and 1992 papers. The Hdef software package was developed to apply these equations in relevant scenarios quickly and efficiently.

These codes are no longer written in Fortran 77! If you go to the Github page for the codes, you can go back to see legacy versions of the code, but now things are more modernized. I chose Fortran for the development because it was the first real coding language I learned and it still produces binary programs that run much faster than any interpreted language. The installation should be familiar for users who have compiled software packages before. After installation, I highly recommend working through the tutorials; the programs are intended to work for my purposes, and therefore may not be particularly intuitive or user-friendly.

Take me straight to the Github page!


Because the codes are written in Fortran, installing the software package requires a Fortran compiler. GFortran, Intel Fortran, and Portland Group Fortran compilers have all worked for me, but I recommend using GFortran because this is the compiler I used during development. There is a template for a makefile used to compile the codes. If you are unfamiliar, I suggest following the instructions here.


I have used the following slides to teach colleagues how to use these codes with a reasonably high rate of success. I recommend working through them systematically; the earlier presentations go through the required file formats in excruciating detail, whereas later presentations assume the user has the earlier knowledge.

The outputs from the codes are text files, which are not always illuminating. Significant insight can be gained by plotting the results. The codes were designed with GMT in mind, but any plotting software can be used. For a brief introduction to GMT, see this tutorial.

  1. Introduction to displacement modeling
  2. Introduction to stress modeling
  3. Coulomb failure stress
  4. Case Study 1: 2014 Chiang Rai sequence (PDF)
  5. Case Study 2: 2014 Iquique sequence (PDF)