Brief Description of Computer Programs

Used to Calculate Probabilistic Seismic Hazard

 

Art Frankel, USGS

afrankel@usgs.gov

Oct. 2000

 

In the period 1994-1996, I wrote several new computer codes for calculating seismic hazard. These were used to construct the 1996 U.S. national seismic hazard maps. If you use these codes, I would appreciate an acknowledgement and a reference to the 1996 USGS OFR 96-532 for the national maps. I am planning to write a new OFR describing the codes that should be completed by the end of 2000. When that OFR is completed, it will be the preferred reference.

 

Chuck Mueller also wrote several other codes to process seismicity catalogs and to make seismicity-rate, Mmax, and b-value grids for specific situations.

 

 

The codes described below are for calculation of hazard curves and probabilistic ground motions for a grid of sites. There are comments at the beginning of the source codes that provide more explanation. All codes are in FORTRAN, except for iosubs.c

 

1.     agridMLsm:  outputs C binary file of spatially-smoothed seismicity-rate grid, given an earthquake catalog and an input file with magnitude-completeness times and specified regional b-value. This uses the Wiechert max. likelihood method for determining the a-values. See input file WUSagrid.in

2.     hazgridX:  takes seismicity rate grid from agridMLsm and calculates hazard curves on a grid of lat-lon. Usually considers point sources, but option iflt=1 uses finite faults with random strikes centered on grid cells. Also has an option for using spatially-varying b-value and Mmax grids. Assumes Gutenberg-Richter recurrence model. See input file WUSmap.in. The program hazgridXfm is a version of hazgridX substantially modified by Rob Wesson to greatly speed up the code when ilft=1.

3.     hazFX: calculates hazard curves for set of faults for a grid of lat-lon. Option for characteristic or Gutenberg-Richter recurrence models.

4.     hazallX: adds hazard curves from hazgridX and hazFX with specified weights; then finds ground motions for a lat-lon grid with specified annual frequency of exceedance. For example: 10%PE in 50 years is 0.0021 annual rate of exceedance. This uses linear-linear interpolation. HazallXL does the same thing, but with log-log interpolation. This is probably more accurate for the steep portion of the hazard curves.

5.     bin2xyzX: converts binary C file from hazallX with probabilistic ground motions to an ascii file for GMT plotting

6.     rungridWUS and runmapWUS: GMT scripts for making grid files and plotting probabilistic ground motions. rungridWUS assumes output file from hazallX is called “temp”

7.     getheader: allows one to read the header on the hazard curve and ground motion files.

 

Note some of these codes require iosubs.c which contains subroutines for reading and writing C binary files. The seismicity-rate grids, hazard curve, and probabilistic ground motion files for the lat-lon grid are all C binary files. These subroutines are called within the FORTRAN programs.

 

So a sequence to produce a hazard map would be:

1.     agridMLsm WUSagrid.in

2.     hazgridX WUSmap.in

3.     hazFX WUSA.char

4.     hazallX       (add output hazard curve files; output prob. gnd motion)

5.     rungridWUS

6.     runmapWUS

 

Acknowledgement: The use of the error function to calculate the area under the log-normal ground-motion distribution is from a line in a program written by Jack Boatwright.

 

Thursday, January 5, 2006 15:59