Earthquake Directivity Model
A Package of MATLAB-language functions and scripts for evaluating the Spudich and Chiou (Earthq. Spectra 2008) directivity model.
Version 1 (15 Mb)This package contains MATLAB-language 'main program' isodirect.m, two scripts that call isodirect1.m to calculate predicted directivity for five test cases, and numeric and plotted output from those test cases.
Test Cases
'AppendixA' – a complicated 5-segment fault with directivity evaluated for two hypocenters. This is the fault and hypocenters used as an example in Appendix A of Spudich and Chiou (2008). The CB6 directivity model is evaluated. The exact geometry of that fault is given in the cited reference. Example map views of the faults and the computed directivity amplifications for 10s period are found in the following images: 'SimpleTests' – Three relatively simple geometry faults: so6 – a single fault plane with high dip angle and oblique slip; ss5 – a vertical strike-slip fault with a 45° bend; rv7 – a dipping reverse fault with a 45° bend. The CY6 directivity model is evaluated. Exact coordinates of the hypocenters and fault corners are given in ss5so6rv7.xls. Example map views of the faults and the computed directivity amplifications for 10s period are found in the following images:Contents of the isodirect1 Package
Note: bold indicates folder or directory; red indicates a 'main' program. jpg files are not computed by example scripts; we provided them.
isodirect1_package
- READ_MEv2_isodirect1.pdf – this file
- Spudich&Chiou_v19a.pdf – preprint of Spudich and Chiou (2008) containing all appendices except C
- AppendixATest:
- LoadSpudChiouExample.m – called by run_appendixA.m
- run_appendixA.m – script to generate Appendix A results
- spudich_results – txt files are computed by run_appendixA.m
- AppendixA_hyp1_CB6.txt
- AppendixA_hyp1_CB6_10s.jpg
- AppendixA_hyp2_CB6.txt
- AppendixA_hyp2_CB6_10s.jpg
- isodirect1_mfiles:
- ClosestPointToLineSegment.m – called by isodirect1.m
- gen_coord1.m – called by isodirect1.m
- isodirect1.m
- msegcl5.m – called by isodirect1.m
- p4cfv1p1.m – called by isodirect1.m
- quadcl1.m – called by msegcl5.m
- radpatv7.m – called by isodirect1.m
- rownorm.m – called by isodirect1.m
- tricl2.m – called by quadcl1.m
- SimpleTests:
- run_simple_tests.m – script to generate ss5, so6, and rv7 results
- spudich_results – txt files are computed by run_simple_tests.m
- rv7_CY6.txt
- rv7_CY6_10s.jpg
- so6_CY6.txt
- so6_CY6_10s.jpg
- ss5_CY6.txt
- ss5_CY6_10s.jpg
How to Run the Examples
Either move all m-files into your working directory, or modify your startup.m to ensure all m-files are in your path.
These routines run in the MATLAB command-line interface. Open a MATLAB Command Window.
type run_simple_tests
This test should run in 15 s, and it will generate all the .txt files under the SimpleTests directory. It will also generate .mat files of the output.
type run_appendixA
This test should run in 60 s, and it will generate all the .txt files under the AppendixATest directory. It will also generate .mat files of the output.
Your result should agree to very high accuracy with ours.
Documentation
A detailed description of the input to isodirect1.m is given in the introductory comments in that routine. run_simple_tests.m and run_appendixA.m show how to set up real geometries.
References
- Spudich, P., and Chiou, B.S.J., 2008. Directivity in NGA earthquake ground motions: Analysis using isochrone theory: Earthquake Spectra 24 279 -298. DOI: 10.1193/1.2928225.
Note: a preprint of this reference, with all appendices, is found in the downloadable file.