Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Management of large earthquake data using the Antelope Relational Database and seismicity analysis of the 1999 Turkey earthquake sequences
(USC Thesis Other)
Management of large earthquake data using the Antelope Relational Database and seismicity analysis of the 1999 Turkey earthquake sequences
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
RELATIONAL DATABASE AND SEISMICITY ANALYSIS OF THE 1999 TT%H&EYI%UTTHQL%UaESEQLT&K3ES by XiaZhu A Thesis Presented to the FACLnjnrOFTTQiGRATHlATESCTKXlL UhüMÏRSrrY CFSCHJTTQERNCVLL[FOFÜfL\ In Partial Fulfilhnent of the Requirements for the Degree MASTER OF SCIENCE (GEOLOGICAL SCIENCES) August 2003 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. UMI N um ber: 1 4 1 7 9 4 8 INFORMATION TO USERS The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. UMI UMI Microform 1417948 Copyright 2004 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.O. Box 1346 Ann Arbor, Ml 48106-1346 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. UNIVERSITY OF SOUTHERN CALIFORNIA THE GRADUATE SCHOOL UNIVERSITY PARK LOS ANGELES, CALIFORNIA 90089-1695 M /w kr (A g dfrecfwn A A/' fA g JÛ co/w niA ee, owf appmvaf A y off A f m em A grj, A aj A gen prgfgnfg^f fo o /w f occgpfgd Ay fAg D zrgcfor q^Grodwofg WKf frq/gj^noMo/ frogroTTU, in /wzrüoijüi/îZAngni q/^iAg rgqwirgmgntr (Ag degree of M a ste r o f S c ien c e in Dirgcfor Dafg TTigjû Cnmmiffgg V IJ CAnir R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 1 1 ACKNOWLEDGEMENTS I would like to express my deep gratitude and sincere appreciation to all the people who helped on this work. My advisor. Professor Yehuda Ben-Zion, is the hrst person I appreciate for leading me into the beauty of geological and physical science, sharing his knowledge with me, and helping me with financial support. I would not achieve this work without his effort. Thanks to Professor Leon Teng and Professor Susan Owen for being the members of my thesis committee and giving me their precious advice. Many thanks to my husband, Zhigang Peng, who is a Ph.D. candidate at the University of Southern California at the time this thesis is being written, for reinforcing me the key knowledge in Geophysics, teaching me lots of programming languages, encouraging and supporting me to continue my study, and loving me endlessly. Special thanks to Daniel Quinlan, Danny Harvey, Frank Vemon, Gary Pavlis, Jennifer Eakins, and Deborah Kilb for their tutorials on the Antelope Database system and suggestions for the problems I met during the setup of the Database. Thanks to Professor Charles Sammis, Leon Teng, and Tom Henyey for teaching me those wonderful courses and tolerating my ignorance. The knowledge they passed on to me will benefit my whole life. Thanks to Professor Lawford Anderson, Cynthia Waite, John McRaney, and Varduii Ter-Simonian for their help on the administration issues. They are always patient and good at helping solving my problems. Finally, thanks to my parents and my brother for giving me happiness and cares. I respect all the people mentioned above and wish them all the best in the future. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Ill TABLE OF CONTENTS ACKNOWLEDGEMENTS..........................................................................ii LIST OF FIGURES........................................................................................ v ABSTRACT..................................................................................................vü CHAPTER 1 INTRODUCTION.................................................................. 1 1.1 Seismotectonics of the North Anatolian Fault..................................................... 1 1.2 The 1999 Izmit and Duzce Earthquakes............................................................... 2 1.3 Temporary Seismic Network on the Karadere-Duzce Fault...............................3 1.4 Structure of Thesis.................................................................................................. 8 CHAPTER 2 TURKEY DATA PROCESSE<[G........................................10 2.1 Antelope Relational Database System..............................................................10 1.1. Introduction.................................................................................................. 10 1.2. The Antelope system....................................................................................10 1.3. The Datascope system..................................................................................11 1.4. Pros and cons of the Datascope system...................................................... 15 1.5. Pros and cons of the Antelope system.........................................................16 2.2 Turkey Database Setup......................................................................................... 17 2.2.1. General setup.................................................................................................18 2.2.2. Building the Eeld part of the database.........................................................19 2.2.3. Building the waveform part of the database...............................................20 2.2.4. Building the origin/assoc/arrival part of the database...............................22 2.2.5. Table clean u p .............................................................................................. 24 2.3 Local Magnitude Calculation...............................................................................25 CHAPTER 3 SEISMICITY PATTERN ANALYSIS.................................. 27 3.1 Overall Seismicity Patterns................................................................................27 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. IV 3.2 Removal of Artificial Seismicity Pattern....................................................31 3.3 Seismicity Pattern Analysis.......................................................................37 CHAPTER 4 CONCLUSION..................................................................... 46 REFERENCES..............................................................................................47 APPENDIX A: File segy2css.tbl................................................................ 53 APPENDIX B: Program gen_wfdisc_all.sh..............................................54 APPENDIX C: Program gen_wfdisc_tt.sh................................................ 55 APPENDIX D: Program modi_wfdisc.sh.................................................. 56 APPENDIX E: Program dbwfmatch_chan................................................ 57 APPENDIX F: Program dbver_all.sh.........................................................60 APPENDIX G: Program cat_wfdisc.sh......................................................61 APPENDIX H: Program check_ghost_event.pl........................................62 APPENDIX I: Program genhypocard.pl.....................................................65 APPENDIX I : Program hypoinverseldb....................................................71 APPENDIX K: Program dbassoc_delta......................................................91 APPENDIX L: File dbampmag.pf.............................................................. 93 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. V LIST OF FIGURES Figure 1. A simpiified tectonic map of the east Mediterranean region (after Gulen et al., 2002).....................................................................................................................1 Figure 2. (a) A location map for the seismic experiment along the Karadere-Duzce branch of the NAF modified after Ben-Zion et al. (2003)..................................... 5 Figure 3. Arrival times relative to January 1, 1999 for all stations denoting the operation periods....................................................................................................... 7 Figure 4. A simplified table from Datascope showing the CSS3.0 schema................12 Figure 5. Entity-relationship diagram of the CSS3.0 core schema..............................12 Figure 6. Example output of tables from the "dbe" program....................................... 14 Figure 7. A list of all the tables in the turkey database.................................................25 Figure 8. (a) Cumulative (squares) and discrete (triangles) numbers versus magnitude , and (b) depth histogram of all earthquakes...................................... 28 Figure 9. Locations of aU earthquakes that occurred before the Duzce earthquake...29 Figure 10. Locations of all earthquakes that occurred after the Duzce earthquake. ..29 Figure 11. Z-value map of the rate change at the time of the Duzce earthquake 31 Figure 12. GenAS output.................................................................................................33 Figure 13. (a) Cumulative number of earthquakes versus their occurrence times, (b) Histogram of the event occurrence frequency per day. ..................................... 35 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. VI Figure 14. The sliding window plots of (a) magnitude ratio and (b) averaged depth versus the time.........................................................................................................40 Figure 15. The sliding window plots of (a) time intervals and (b) cumulative Benioff strains versus the time.............................................................................................41 Figure 16. A zoom-in plot of Figure 14 around the occurrence time of the Duzce earthquake................................................................................................................42 Figure 17. A zoom-in plot of Figure 15 around the occurrence time of the Duzce earthquake................................................................................................................43 Figure 18. Locations of earthquakes occurred on Julian day (a) 310 and (b) 311. Other symbols are same as in Figure 2..................................................................44 Figure 19. Locations of earthquakes occurred on Julian day (a) 315 and (b) 316. Other symbols are same as in Figure 2..................................................................45 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. vu ABSTRACT This thesis describes the procedures of setup and management of a large seismic data set recorded during the aftershock sequences of the 08/17/1999 Mw7.4 Izmit, and 11/12/1999 Mw7.1 Duzce, Turkey, earthquakes using the Antelope/Datascope Relational Database Management System. A five-step procedure is performed to convert the waveform data from SEGY to CSS3.0 format and setup other related tables for the Turkey database. Local magnitude is calculated for all the earthquakes after the database setup. General properties of hypocentral distributions before and after the Duzce earthquake are discussed. Artificial seismicity patterns resulting from the changes of the seismic stations are detected and removed from the catalog. Four seismicity parameters are used to detect the changes in seismicity pattern. Two significant changes are found about 10 days before the Duzce earthquake. These changes come from the occurrences of the Karadere earthquake (11/07/1999, Mw = 4.9) and Sapanca earthquake (11/11/1999, Mw = 5.6). R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. CHAPTER 1 INTRODUCTION 1.1 Seismotectonics of the North Anatohan Fault The North Anatolian Fault (NAF) is one of the most seismically active and inhabited strike-slip faults on Earth (e.g., Ketin, 1969; Barka, 1992). Since the Arabian plate is moving northward against the Eurasian plate, the Turkish micro plate, which is bounded on the east by the East Anatolian Fault (EAF), on the north by the NAF, on the west by a diffuse zone of deformation surrounding the greater Aegean Region, and on the south by the Hellenic and Cyprus arcs, is squeezed westward relative to the Eurasian plate (Figure 1). The measured present-day slip rate for the NAF is about 24 ± 1 mm/yr (Reilinger et al., 1997; McClusky et al., 2000). 2 0 ' 2 4 " 2 8 ' 3 2 " 36' 4 0 " a//as/a/7 24 m m fyr 1 D m m /? f 24' ^ le m a v y r Figure 1. A simpliEed tectonic map of the east Mediterranean region (after Gulen et ah,2002X R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Many large earthquakes occurred on the NAF during Turkey's 2000-year recording history. Starting in 1939, a sequence of eight major earthquakes has ruptured a 1000-km section of the NAF from east to west (e.g., Ambraseys, 1970; Barka, 1996). These earthquakes include the 1939 Ms7.9 Erzincan earthquake, the 1942 Ms7.1 Erbaa earthquake, the 1943 Ms7.6 Tosya earthquake, the 1944 Ms7.3 Bolu-Gerede earthquake, the 1957 Ms7.0 Abant earthquake, the 1967 Ms7.1 Mudumu Valley earthquake, the 1999 Mw7.4 Izmit earthquake, and the 1999 Mw7.2 Duzce earthquake. 1.2 The 1999 Izmit and Duzce Earthquakes In August 17,1999, a day that Turkish people would not forget, a Mw7.4 earthquake occurred near Izmit, about 80 km southeast of Istanbul. Numerous residential buildings, transportation and industrial facilities were destroyed and there were at least 18000 deaths and more than 25000 injuries (e.g., Barka et al., 2002). Its epicenter was located at 40.8° N and 30.0° E (Figure 2a), with hypocenter depth of about 17 km (USGS). The surface rupture of the Izmit earthquake consists of 4 distinct segments, from west to east: the Golciik, Sapanca, Sakarya, and Karadere- Duzce fault segments (e.g., Lettis et al., 2002). They are separated by distinct right- releasing step-overs of 1-4 km in width. The maximum offset of about 5.2 m was observed on the Sakarya segment near AriEye, east of the Sapanca Lake. The Karadere-Duzce segment extends about 30 km between Akyazi and the Eften Lake with orientation of about N70°E. The maximum displacement on this segment is R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. about 1.5 m (Hartleb et al., 2002). The total length of surface ruptures is in excess of 120 km. Three months later, the November 12,1999, Mw7.2 Duzce earthquake started and propagated eastward from the end of the Izmit rupture zone. The epicenter of the earthquake was located at 40.82° N and 31.2° E (Figure 2a). Focal mechanism solutions of the earthquake show predominately right lateral strike-slip with a small normal faulting component on an east-west striking and north-dipping fault plane (Tibi et al., 2001; Harvard CMT). Detailed field mapping indicates a total rupture length of approximately 40 km (Akyuz et al., 2000; Hartleb et al., 2002). 1.3 Temporary Seismic Network on the Karadere-Duzce Fault A 10-station PASSCAL (Program for the Array Seismic Studies of the Continental Lithosphere) seismic network was deployed along and around the Karadere-Duzce branch of the NAF (Figure 2a) to record the aftershock sequences of the Izmit earthquakes for about six months (Seeber et al., 2000; Ben-Zion et al., 2003). One goal of the deployment was to image the subsurface structure of the NAF using seismic fault zone (FZ) trapped waves that propagate in low-velocity damaged FZ layers (Ben-Zion et al., 2003). Figure 3 shows the operation period of all stations. Three-component L22 sensors (Mark Products) and REFTEK recorders (Refraction Technology, Inc.) were used in all the seismic stations. Eight of them had three-component, force-balance accelerometers (FBA). Stations MO (employed for six months) and GE (employed in August and September) also had three-component broad-band sensors (Guralp R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. CMG-40T). During the last three weeks of the deployment, another 16 PASSCAL sensors were installed in a dense "T-array" (Figure 2b) along and perpendicular to August 17 rupture in the middle of the network. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Figure 2. (a) A location map for the seismic experiment along the Karadere-Duzce branch of the NAF modified after Ben-Zion et al. (2003). Seismic stations are marked by triangles. Aftershock locations are shown in circles shaded with hypocentral depths. Local magnitude of each event is denoted by the size of the circle. The squares and stars mark, respectively, GPS locations of the surface ruptures of the Izmit and Duzce earthquakes. The inset shows the tectonic environment in northwestern Turkey with the hatched box corresponding to our study area, (b) A location map of the dense T-array. (c) Hypocenters projected from the box in (a) along the cross-section AA'. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 41" 00 40' 50 0 Z 'O n w ) M j f i H u l I u km 0 - 1 5 k r n M ra î^ f /t Z ctiv v( % ' V . [ A W ü Y / n u t VKv . 30° 50 (C)n I 3 r 00 31" 10 30'30 30" 40 N N W o 40° 40' 5 0 Distance (km) R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. WF \ o TW----- TS---- SL------ PT------ MV NU MO----- LS------ OE------ FP FI Fib FI5 FI4 FI3 F12 FI 1 FIO F09 F O Ê I F O T F06 F Q ^ F02 FOl CL------ CH CF------ 'BU AR l oloi: 4 1 0 5 # P: 20768:; S :202866 __420jl2 — 46659 6648 2114 3388 3522 — 77 36029 45715 _^0381 -41495 39283 — 352 262 324 244 338 _ 314 — 238 265 323 2341 309 — 1 9 1 — 219 248 4269 28064 5270 — 34055 24608 500 (50 4W) Julian day Figure 3. Arrival times relative to January 1,1999 for all stations denoting the operation periods. Two short arrows mark the occurrence times of the Izmit and Duzce earthquake, respectively. The long line marks the time when the 'T-array" was installed. The station names are shown in the left. The total number of arrivals at each station is marked on the right. Total number of arrival information is given in the center. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 8 The choice of deployment along the Karadere-Duzce branch of the NAF is fortunate because three months later the Duzce earthquake started and propagated eastward from the locations of the 10-station seismic network. During its six-month operation period, about 26,400 earthquakes were detected. Figure 2a shows locations of these earthquakes denoted by circles and shaded with their hypocentral depths. The size of a circle scales with its local magnitude. Figure 2c gives hypocenter locations projected from the box of Figure 2a along the cross-section AA'. As shown, hypocenters on the Karadere-Duzce segment are confined between 12 and 15 km near the bottom of the seismogenic zone. They also indicate a steeply dipping fault to the north that is corresponding to the surface expression of the Karadere-Duzce branch that broke in the Izmit earthquake (Seeber et al., 2000). The seismicities around station CH and shown in the right side of the cross-section AA' are diffused. They may originate from secondary faults straddling between the master strands of the NAF that accommodate stress transfer among them and a possible semi horizontal detachment structure below 10-13 km (Seeber et al., 2000; in preparation 2003). The total size of the recorded waveform dataset is about 6 GB. The waveforms, phase picks, and event catalogs are stored in a relational database system called Antelope, as described in Chapter 2. 1.4 Structure of Thesis Chapter 2 first introduces the concepts of database and Antelope/Datascope Relational Database system. Their advantages and disadvantages are discussed by R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. comparing with traditional seismic data processing tools and other commercial database products. A five-step procedure is described to convert the waveform data from SEGY format to CSS3.0 waveform format and setup other related tables for the Turkey database. After the database setup, local magnitude is calculated for all the earthquakes. Chapter 3 describes the general properties of hypocentral distributions. Artificial seismicity patterns resulting from the change of the seismic stations are detected using the GenAS program in ZMAP and removed from the catalog. Four seismicity parameters are used to detect the changes of seismicity pattern before and after the Duzce earthquake. Chapter 4 is a conclusion of all the work done during my Master's program. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 10 CHAPTER 2 TURKEY DATA PROCESSING 2.1 Antelope Relational Database System 2.1.1. Introduction Due to the large size of the data recorded during the 1999 Turkey temporary PASS AC AL seismic network, it is crucial to manage the data effectively and systematically in order to assist further research work. A relational database management system (DBMS) called Antelope is used in this study to manage our data set. In general, database is an organized collection of information. A relational database consists of a set of tables, commonly referred to as relations. Each table is made by a set of records, which are referred to as tuples. A record is in turn a set of fields, which are referred to as attributes. Each field is a pair of field name/field value. The schema specifies the relation name, the name of each field, and the type of each record (Ramakrishnan and Gehrke, 2000). 2.1.2. The Antelope system The Antelope system is developed by Boulder Real Time Technologies, Inc. (http://www.brtt.com) and marketed by Kinemetrics, Inc. It is a software package designed to record, process, transfer, archive, and distribute environmental monitoring information. Antelope was originally developed to support seismic networks. However, most of the features in Antelope are generic and can be apphed to many different real-time environmental monitoring systems. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 11 Antelope consists of two m ^or sub-systems: the Antelope Real Time System (ARTS), and the Antelope Seismic Information System (ASIS). ARTS provide various functionalities for seismic network and array operations, including real time data acquisition from remote field sites, interactive control of field equipment, system state-of-health monitoring, and real-time automated data processing (e.g., event detection, picking, seismic event association, seismic event location, and archiving, etc). After the automated real time processing, all data and information are automatically saved into long-term information system archives, or ASIS. ASIS uses the relational database and the CSS 3.0 (Center for Seismic Study) schema for information organization. One of the most generic systems within ASIS is the relational database system, which is commonly referred to as Datascope. 2.1.3. The Datascope system The Datascope within Antelope was derived from the public domain Datascope that was developed with the support of the Incorporated Research Institutions for Seismology (IRIS). The CSS 3.0 schema, documented by Anderson et al. (1990), is a standard database schema for producing earthquake bulletins and catalogs. Figure 4 gives all the relation names within the CSS3.0 schema. In Datascope it is specified by the file css3.0 in /opt/antelope/4.4/data/schemas/. Its entity-relationship diagram is shown in Figure 5 where core tables are divided into four different layers. More information about the schema design and description can be found using "dbhelp" command and the following website R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 12 Œttp://eldbrick.cr.usgs.^ov/DBMS/comDanson/idc.html S e h o A W G C S 3 3 A CenW r for Seisinlc S tu d ies S ch ém a V ersion 3-0 Qchanawx a nets t* arrivai assoe boam calibration cemtryd d m æ e d dmcwf ewoddl aven* fkur\û f plane y e g k n iMtmnwmt lasUd marnent w tm ag oeîwûrk ofigarr crsyfo predarr predm#ch remark scbamkc sw dform at *#edîmkm sensar site sftechan ^netsta speccîlsc $regfoe stage stam*g stassoc stgrW w fdkc wfe^lt wfmeas wfrms wftaa wfîape Figure 4. A simplified table from Datascope showing the CSS3.0 schema. DATA LINK SUMMARY CATALOG « 0 - 4 - ^ ^ ond e # W Figure 5. Entity-relationship diagram of the CSS3.0 core schema. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 13 In Datascope, tables are stored in fixed-format plain ASCII ûles that can be directly edited. Figure 6a shows an example the sensor table in Datascope viewed from "dbe" program with 7 attributes and 25 tuples. The schema or description about this table and all the fields are shown in Figure 6b. Four attributes "sta chan timexendtime" are defined to be the primary keys which are single or set of attributes used to uniquely identify each row. The foreign keys "inid chanid" are keys defined in other tables (e.g., inid is the instrument id that are defined in the instrument table) and used as constraints when these tables are joined. The basic operations provided by Datascope include: sort, which is used to order a group of traces with specific criteria; join, which is used to join the tables by keys; select, which is to select a group of attributes; and subset, which is to select a group of tuples with speciFc criteria. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 14 (a) m m m m m m i i m _ jMk ykw jzptbnt ÈTËpW o W P (*% q ; *im # i I - ' ar jÜ m A o iA l tmdt### '.. ) C # M O lW ( | M G ' vmmôâo O B 0 'ï S # W M S (rcM : lAMN# (NN ! 4 : A A» ng fW UK, 1 1 /zw w e (MO gLOom# i V \-* ‘2 O r / aw w . ne 1 I/IMM8 (me I2:Ï%Ï5.0* i 4 . , a .im m m B i V nz/M /aw (3B Q a 3 :: M M ' 08 ;«M UR 1 la y w * («O 4 i jl.OdQW ? t i/Ab%o# U B % 1 1 f* P .W m ■ ne imLjM 1 /W M » M B* ; 4 1 . îv A - n fBBLm iClkAa» Ü % @ 0.@MM |y , ( M a . * » 3 M * 5 1 iV*yW* m o 1 ; g^wow» . # = A C .emuw fWkira* (MO ' ■ t ■ ; @,*ww ;y &WW 3 «am ; * il 'KUB »*&(»« (mo 1 . 1 - 0.O B O a 0È fao8) w » KILM ]W, (MO i \ û.mmmo Iv ^ sAanoim Gsa w n iMKJk (%B ! v n /w i 4 w iw ) loiw iw .w A n " W ia o (MO 1 3: ! 45:B T .M D i 1 ! VaVtKN (2*) » PI SW M * (MO #:3 B jS T .m im ' ■ I : q.m m uM ■ V n/% 433s tm t niM.w.o M ; n Il W M » (MO 1 4;*;S&.W Ù : î 1 o.M oe V 4 #;A,5 » A ' n lE M L M (MO S:*:ALMO. r . 2 ; KmwoB % ; 1 3.34:1 * W ! $ 1 ; n mm» ll/M /iaa [MO j 2 i 0 m B @ » y , I2/M/2 8 Q 0 («63 a:% a.ag# : « ' M JMj». VM /M Ü# (MO & i % m *e. |y n w t w (« o 13:44 M W : «T: FI imuK n *6 :«» (MO z : D.oàww V . ivM/%00 23:%:akW F I a/*» M M (MO MM»:*.#» 4 2 i B .o m m E m f ' . vaVM%^(âa 3.26'M l 3S S ■ m ' ' fi /WlJRl (MO OiOkO.WO o.om siQ a y . amvwm oam tak m oA. T' * : FI t w m * (MO ikWkM.Me L Z ■ m M ow m ÿ. &W 1 & M Cdtj 4 n imuH iw (*m 2 . IL O M K B ! '■ ■ rasi 1 3*:W3A ; @ $ : m Ü " < _ w l iT/Hg/iMi m») 1 4 2b 3 d Q # 0 2 ■ 0 (09 0000 ' ly c ew z n a oA A ' fp VT 4'lM M (fO n 3 # 1 #.uW# y F/2 & W IM lU d rQ 1b n . * Y* ; % z z z z z z z z z z (b) p h y s i c ^ ^:l' ) I ' ' . r / 4 f ^ '( . Primary key: stachai%*imi&ayndt*me Foreign k^ys: inid chanW Records:: % 73 Size (bytes): 3#22ü Perm issions: may be modified File: tw rkeyaengw 's t a ! instant Lan time endtime in!q rhanid jJatè^cairotio^ca i Iddate I Dismiss tper ts h lftl} Figure 6. Example output of tables &om the "dbe" program, (a) The content of ± e sensor table, (b) Description of Eelds in the sensor table. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 15 2.1.4. Pros and cons of the Datascope system Since Datascope uses external table to store the raw- (e.g., site parameters, waveform data) and meta-data (derived data, e.g., time picks, peak amplitudes, and earthquake locations, etc.), it makes the large data-set maintenance and venbcation feasible. Other traditional seismic data processing tools, such as Seismic Analysis Code (SAC), use header prior to the waveform data to store the raw- and meta-data information. Although efficient when dealing with small amount of data, it is very difficult to keep the header consistent with each trace for a large data set. Also, header definitions and formats may vary by different users, thus communication is difficult between users and transformation is needed most of the time. In contrast, Datascope uses fixed-format tables to store the information and it is convenient for data exchange. Comparing with other commercial database products, Datascope is relatively inexpensive, reliable, easy, and intuitive. It is designed specifically for the seismic network with many built-in functions related to seismic processing (e.g., dbloc2, dbml). Moreover, Datascope has interfaces to several languages (e.g., C, FORTRAN, Tcl/Tk, Perl, and Matlab), a command line interface, and Graphic User Interface (GUI) such as "dbe" and "dbpick". Since the tables are typically plain ASCII files, it is also possible to edit them using standard UNIX tools and editors such as sed, awk, and vi. In general, the user has many access tools to interact with the database. It is much more friendly in contrast to most other commercial database systems, which R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 16 only provide access through a speciahzed "query language", such as Structured Query Language (SQL). However, there are also some drawbacks of the Datascope. For example, file access is controlled through the normal UNIX Hie permissions. Thus, multiple simultaneous updating of a Hie is impossible. Direct editing of the tables might corrupt the database tables. Thus, one has to be very careful when dealing with the Datascope. It is always necessary to have a backup before one makes changes to the tables. 2.1.5. Pros and cons of the Antelope system Since Antelope has a built-in, simple, and efHcient DBMS system Datascope for quahty control and efHcient organization, and many built-in functions related to seismic processing (e.g., dbloc2, dbml), it is more complete, efHcient, or effecHve than other seismic network operaHon systems, such as Earthworm (Johnson gt aZ., 1995), and International Association of Seismology and Physics of the Earth's Interior (lASPEI) IBM personal computer (PC) based seismic data acquisition software package (Lee, 1994). The latter is widely being used at many small seismic networks and plays an important role in the Taiwan Rapid Earthquake Information Release System (Teng et al., 1997; Wu et al., 2000; Wu et al., 2002). Antelope is currently being used successfully at three medium-sized networks (Alaska, Nevada, and ANZA) and for Held data management of many PASSCAL experiments (Wilson and Jones, 2002). R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 17 The m ^or concern about the Antelope system is that source code is closed and developed only by a small staff in a commercial company. Besides, Antelope only runs on Sun Microsystems' Solaris operating system on both SPARC and Intel architectures. The hardware and software expenses are much more than those based on NT operating system on Intel architectures. However, the latest version of Antelope (4.5) runs also on UNUX operating system on Intel architectures. Other drawbacks of the Antelope include: low performance and slow display of GUI written in Tcl/Tk; time consuming process to convert data from other format into Antelope database; and lack of needed parameters in CSS 3.X database schema. Detailed reviews of the Antelope/Datascope system and comparisons among these seismic network operation systems can be found in the Electronic Seismologist of the Seismological Research Letters (Malone, 1999a, 1999b). 2.2 Turkey Database Setup Since the data acquisition part of the 1999 Turkey experiment was done, we use mainly the ASIS part of the Antelope or Datascope to manage the seismic data. The following procedure is performed to convert the waveform data from SEGY to CSS3.0 format and to set up other related tables for the Turkey database. This procedure is for the Antelope 4.4 version and follows the one written by Jennifer Eakins at Institute of Geophysics and Planetary Physics (IGPP), University of California, San Diego (UCSD). The general procedure can be broken up into several parts: general setup, building the field part of the database, building the waveform R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 18 part of the database, building the origin/assoc/arrival part of the database, and table clean up. 2.2.1. General setup First we need to set up a clean directory structure that is consistent with processing large amounts of data. 1) Get the network code assigned to our experiment (YJ) from the following website httD://www.iris.washin2ton.edu:8080/PASSCAL/europe.htm. 2) Get a large disk partition with about 10 GB free spaces. 3) Make a directory called YJ and two subdirectories named db and dbmaster. db: a place to store the waveform data and any associated tables that are updated frequently, such as wfdisc, arrival, origin, assoc, etc. dbmaster: a directory containing mostly static tables such as instrument, response, sitechan, etc. Usually the lastid table is also kept in this directory. It keeps track of the ids for various database tables (e.g., wfid, chanid, arid, orid) and is updated regularly. 4) Source /opt/antelope/4.4/setup.csh if it is not in your .cshrc (.login) file. 5) Create a file named turkey with the following two lines: c s s 3 .0 . / {turkey} : /hom e/t:erra-2 4 /w rk 2 4 /L am o n t/d b in aster/{tu rk ey } The Hrst line must be css3.0, which defines the schema used in the database. The second line tells the system to look for any database tables with the basename of "turkey" in the current directory. If the tables are not in the current directory. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 19 /home/terra-24/wrk24/Lamont/dbmaster/ (or ../dbmaster) is searched using the same rule. 2.2.2. Building the Held part of the database The next step is to build the field part of the database, which contains all information about stations, site locations, sensors, orientations, instrument responses, etc. All the tables should reside in the dbmaster subdirectory. There are two primary ways to build the field database. The easiest method is to start from what is called "dataless seed volume", a file that is generally available for data requested from the IRIS Data Management Center. If a dataless seed Ale is not available, one needs to use a program called ucsdsp2db and the steps are complicated. Luckily we have the dataless seed file available at IRIS website. 1) Download the dataless seed Gle from the IRIS website and put it in the subdirectory dbmaster: ftD://dmc.iris.washineton.edu/pub/RESPONSES/PASSCAL/DATALESS.YI99.0706 01 2) Run the following commands from the directory "YT' to generate all static tables related to the field part of the experiment (e.g., turkey .instrument, turkey.site, turkey.sitechan). psd2db dbmaster/DATALESS.YJ99.070601 d b m a s te r/tu rk e y d b v e r if y d b m a s te r/tu rk e y > & tu r k e y .v e r 3) Review turkey.ver and clean up errors. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 20 2.2.3. Building the waveform part of the database The SEGY waveform data are directly downloaded from our collaborator, John G. Armbruster in Lamont Doherty Earth Observatory (LDEO) of Columbia University. All data are time corrected before we convert them into the CSS3.0 waveform format (Armbruster, per. comm., 2002). The following procedures are performed to set up the waveform part of the database. 1) Convert the waveforms from PASSCAL SEGY to CSS format using the "segy2css" program. This program needs a table "segy2css.tbl" that maps the DAS instrument ID to station names (APPENDIX A) The "-event" option is used to convert the SEGY data in one Julian day and put all information in one wfdisc hie. The subdirectory 01 and 02 inside the Julian day contains the waveforms for the first (usually L22 short period data) and second (usually FBA or broadband data) channels, following the conventions in the raw SEGY data. 2) In the directory db run the following set of commands: foreach day ('cat day.id') m kdir $day; cd $day; m kdir 01; m kdir 02 cd 01 seg y 2 css -e v e n t f . . / . . / . ./ P a r a / s e g y 2 c s s .t b l . . / . . / . ./SEGY_DATA/R$day.01/* cd . . ; cd 02 seg y 2 css -e v e n t - f ./Para/segy2css.tbl /SEGY_DATA/R$day.02/* cd ../.. end 3) Modify the wfdisc table under each day by changing channel names from "1", "2", and "3" in wfdisc table to "Z","N", and "E" according to the definitions in sensor table. Since there are differences in the name convention between the regular R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 21 and T-array period (last three weeks of the deployment), the following two commands are used, respectively. (See Appendix B and C for the Shell program "gen_wfdisc_all.sh" and "gen_wfdisc_tt.sh".) g e n _ w f d is c _ a ll.s h 'nawk '{ p r i n t $1}' n o n tt_ d a y .id ' g e n _ w f d is c _ tt.s h 'nawk '{ p r i n t $1}' t t _ d a y . i d ' 4) After step 3, the channel names ("chan") are still inconsistent between the sensor and wfdisc tables. As shown in Figure 6 for chanid = 91, the channel name at station FI is EP2_01, instead of EPN_01. The change of channel name "chan" is because the instruments at specific stations were changed during the experiment. Besides, "chan" must be different since it is one of the four primary keys in the sensor table. Thus, one needs to change "chan" in wfdisc according that in the sensor table during a specific operation period. The following steps are employed: Firstly, the wfdisc and sensor tables are joined by station name. Secondly, we select all the matches that wfdisc.time and wfdisc.endtime fall into the range of the sensor.time and sensor.endtime. Besides, the wfdisc.chan and sensor.chan must have the same sensor type and same component. Finally, we assign the matched sensor "chan" to wfdisc "chan". The following command is used to perform the tasks as described above. The shell script "modi_wfdisc.sh" and the Perl script "dbwfmatch_chan" used inside the shell script are attached in Appendix D and E. modi_wfdisc.sh 'nawk '{print $1}' day.id' 5) Run the command " d b v e r _ a ll . sh 'nawk ' { p r in t $1} ' day. i d ' " to check errors in the wfdisc table. After the above steps, about 95% of the errors R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 22 reported in the wfdisc table is cleaned. The remaining errors are mostly associated with the mismatch between the DAS and stations, which cannot be Axed based on the information we have. Again the script "dbver_all.sh" is attached in Appendix F. 6) Generate one big wfdisc table in the db directory by running the command: c a t_ w f d is c .s h 'nawk '{ p r i n t $ 1 )' d a y .i d ' See Appendix G for the shell script "cat_wfdisc.sh". 7) Finally in the db directory run the following command to fix the wfdisc id of the big turkey.wfdisc table and make sure the gain factors are correct for the waveforms: (dbfixids turkey wfid > /dev/null) > & /dev/null & (dbjoin turkey.wfdisc calibration | dbselect -s - wfdisc.calib:=calibration.calib > /dev/null) >& /d e v /n u ll & (dbjoin turkey.wfdisc calibration j dbselect -s - w f d i s c . c a l p e r : ^ c a l i b r a t i o n . c a lp e r > /dev/null) >& /dev/null & 2.2.4. Building the oiigin/assoc/arrival part of the database The hypocentral parameters of about 26400 earthquakes and about 266000 phase arrivals are from our collaborator John G. Armbruster in LDEO. The locations were obtained with standard HYPOINVERSE program (Klein, 1978) and event- dependent station corrections (Seeber et al., 2003, in preparation). The phase arrivals were picked using an interactive Java program "jpick" (Armbruster, pers. comm., 2001). Below are the detailed procedures to set up the origin/assoc/arrival part of the database. 1) Since some phase picks and/or event catalogs are duplicated (ghost events), we use a Perl program "check_ghost_event.pr' (see Appendix H) to remove those R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 23 events and phase picks. We use the following criteria to determine whether two events are duplicated: difference of origin times between two events less than 1 sec, and the inter-hypocentral distances less than 1km. About 160 earthquakes are found to be duplicated events and removed from the catalogs. 2) Use a Perl program "genhypocard.pl" (Appendix I) to And the match between the phase arrivals and catalog information for each event. We use the difference between the P and origin time less than 25 sec as the Arst cAtena to match the phase picks and event ongins. We also match the observed .5 anivals with the estimated one using a Vp/Vg ratio of 1.5 - 2. The output is stored in a Ale named "turkey_hypo_new.dat" in HYPOINVERSE format. 3) Use a Perl program called "hypoinverse2db" to convert the HYPOINVERSE phase pick and catalog information in "turkey_hypo_new.dat" to the Antelope/Datascope format (namely the ongin, assoc, and arnval tables). This Perl program is attached in Appendix J and is modiAed Aom "pick2db" in the Antelope contnbution software (by Dr. Kent Lindquist). 4) Since the chan ID in the arnval/assoc table have the same inconsistency problem as in the wfdisc table, one needs to use a similar program like "dbwfmatch_chan" to change the chan ID according to the deAnitions in sensor table. However, since the phase arnvals are stored only in the vertical components, we can use the following command to change the chan ID in the anival/assoc table in a brute-force way: dbsubset turkey.arrival 'sta=="F16"' | dbset - 'chan' 'EPZ_01' 'EPZ02' R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 24 dbsubset turkey.arrival ' sta = = "P 1 4 "' | dbset - 'chan' ' EPZ_01' ' EPZ_02' d b su b se t t u r k e y . a r r i v a l 's ta = = " F ll " ' | d b s e t - 'c h a n ' 'EPZ_01' ' EPZ_02' d b su b set t u r k e y . a r r i v a l 'sta = = "F 0 8 "' | d b s e t - 'c h a n ' 'EPZ_01' 'EPZ_02' d b su b se t t u r k e y . a r r i v a l 'sta = = "F 0 6 "' | d b s e t - 'c h a n ' 'EPZ_01' 'EPZ_02' dbsubset t u r k e y . a r r i v a l 'sta=="FP" && time > 948644970.000' | d b s e t - 'c h a n ' 'EPZ_01' 'EP1_01' 5) Set the review to be true by running the following command: d b s e t t u r k e y .o r ig i n rev iew ' - ' 'y ' 6) Change the delta in assoc table according to the calculations from distance(origin.lat,origin.lon,site.lat,site.lon) using the command: . . /b in /d b a s s o c _ d e lta -v tu rk e y > dbassoc_delta.log & See Appendix K for the Perl script "dbassoc_delta". 7) Finally, Ax the ID problem by running the following command: ( d b f ix id s tu rk e y a r i d > / d e v / n u ll ) > & /d e v / n u ll & ( d b f ix id s tu rk e y e v id > / d e v / n u ll ) > & / d e v / n u ll & ( d b f ix id s tu rk e y o r id > / d e v / n u ll ) > & / d e v / n u ll & 2.2.5. Table clean up The last step of the table setup processes is to run "dbverify" program using "-v" option and check the log Ale for further table clean up. After the above procedure, we remove about 98% of the errors reported by "dbvenfy". The remaining errors are caused either by the inconsistencies between the DAS and staAons, or by the overlap of the recorded waveforms. AAer cleaning up, a total of 16 tables exist in the turkey database, as shown in Figure 7. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 25 flle a p tliiM , , \ \ . jlefpj affiliation)arrlvalj a$soc{ callhrotlonl event) ln»trOment| lestWi notfwkloM eeirl orW lnl% henlocieewofj «*m|oKechamlsmettte!) Wfdisc I ' ' . , : I Figure 7. A list of all ± e tables in the turkey database. 2.3 Local Magnitude Calculation After the Turkey database table setup process is complete, the next step is to calculate the local magnitude of all the earthquakes recorded by the L22 short period instruments. Local Magnitude is deAned to be the logarithm to base ten of the maximum seismic-wave amplitude recorded on the Wood-Anderson seismograph at a distance of 100 km from ± e earthquake epicenter (Richter, 1935; 1958). Although various new seismic quantities such as Moment Magnitude (e.g.. Hanks and Kanamori, 1979) and Seismic Potency (e.g., Ben-Zion, 2001) have been proposed, remains one of the easiest and most common quantities to measure the size of small earthquakes. Onginally, this deAnition was only suitable for earthquakes in southern California. Later, it was used widely in the world to calculate the magnitude of local earthquakes. Therefore, we calculated the for the enAre data using a contnbuted program in Antelope called "dbampmag" (by Nikolaus Horn Aom ZAMG, Vienna). The content of program parameter Ale (PF) is given in Appendix L. The Ame window of the waveform for processing the magnitude is 3 x (S-P time) seconds after the P-arnval. The noise Ame window in the source code is modiAed Aom 60 sec to 3 sec since most of the recorded waveforms only have 10 sec pre-memory R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 26 before tiiggering. The M ^ for each event is the median value of all calculations at three components of each station. According to the suggestion of Danny Harvey from BRTT, the Wood- Anderson instrument response is not applied (set the parameter apply_wa_filter to no) since the Wood-Anderson ûlter is basically a band-pass Alter around 1 Hz and the recorded waveforms were already band-passed by the short-period instrument. Besides, applying instrument deconvolution can cause instabilities. However, since we use 2 Hz L22 instruments, the M^ values may be underestimated since some of the energy between 1 and 2 Hz is missing without the instrument correction. The following command is used to calculate the for all events stored in the database. (dbampmag -v -p dbampmag.pf tu rk e y > dbampmag.log) >& dbampmag.err & 24790 out of 26162 events (about 95%) have magnitude determinations. The locations of these events are plotted in Figure 2a. The size of the circle scales with the . The distribution and other seismicity patterns related to are discussed in Chapter 3. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 27 CHAPTER 3 SEISMICITY PATTERN ANALYSIS 3.1 Overal] Seismicity Patterns After the table setup and local magnitude calculation, I started to look at the overall properties of the hypocentral and other seismicity patterns. Figure 8 illustrates two statistics of the data set: the frequency magnitude distribution of overal] catalog and the depth histogram. As shown, the magnitude is completed at about 1 since the peak of the magnitude histogram is around 1. Most of the hypocenters are in the range 8-15 km with a peak of about 9 km. The lack of shallow earthquakes is not an artifact of the HYPOINVERSE method or poor station distributions (Seeber et al., 2000). Indeed, very few events recorded stations have S-P times < I sec. Such kind of hypocentral distribution is also existed in parts of the San Andreas transform, where the top section of the fault zone is highly damaged and aseismic. This is also compatible with the imaging of a shallow fault zone structure based on fault zone trapped waves (Ben-Zion et al., 2003) and analysis of the crustal anisotropy (Peng et al., 2003). Figures 9 and 10 show the locations of all the earthquakes occurred during the following two periods. The first period is defined as between the start of the temporary seismic network (08/25/1999) and the occurrence time of the 11/12/1999 Duzce earthquake. The second period is from the occurrence time of the Duzce earthquake to the end of the seismic network (02/11/2000). R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 28 (a) z % 3 E 3 u 10 6 2 0 2 4 Magnitude (b) 6000 5 0 0 0 - 4000 E 3000 z 2000 1000 - 04 Depth Histogram g _____________ I__________________ L I 10 Depth W - 15 20 Figure 8. (a) Cumulative (squares) and discrete (triangles) numbers versus magnitude , and (b) depth histogram of all earthquakes. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 29 4 ro ü ' 40° 50' 40° 40' Depth Range 0 ~ 5 ki'n 5 ^ 1 0 km ü - 1 5 k m 1 5 2Ü km ' 2 0 k m M ra n g e « î O 2 0 3 m a # * 40° 30' 30°20' 30°30' 30° 40' 30°50' 31°00' 31° 10' 3I°20' 31°30' Figure 9. Locations of all earthquakes that occurred before the Duzce earthquake. Other symbols are same as in Figure 2. 41° 00' 40° 50' Depth Range ' 5 Id km « Q « 10 15 kin ® 15'- 20 km % ® ''2 0 km M r a n g e G Î O 2 0 3 40° 40' 40° 30' 30° 20' 30° 30' 30° 40' 30° 50' 31° 00' 31° 10' 31° 20' 31° 30' Figure 10. Locations of all earthquakes that occurred after the Duzce earthquake. Other symbols are same as in Figure 2. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 30 Figure 11 illustrates a Z-value map of the seismicity rate change during these two periods. The Z-value at time t at each grid point is calculated using the following equation (Habermann, 1983): (1) where is the mean rate in the first period, 7 ^ 2 the mean rate in second period, r is the "current" time. and 0 2 are the standard deviations in these periods, and ni and » 2 the number of samples. The Z-value has the same meaning in terms of significance as the number of standard deviations hrom the mean of a normal distribution (i.e., Z = 1.96 is 95 percent significance, and Z = 2.57 is 99 percent significance). As shown, clearly the overall aftershock patterns are changed by the occurrence of the Duzce earthquake: seismicity in aftershock regions of the Izmit earthquake along the Karadere-Duzce fault decreased dramatically; while seismicity in aftershock regions of the Duzce earthquake increased. Notice the change of seismicity at regions A, B and C outside the rupture zone of these two earthquakes. This may reflect the stress changes of these regions caused by the Duzce mainshock. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 31 40.95 40.9- 40,as 40.8' O S. 40.75' ë 40.7' % 40.65- 40.6- 40.S5- 40,5' 1999.65 - 1999.66 - compared w K h 1999.87 - 2000.11 B « S W W tW IS S W Ü W » » 30.4 30.6 30.6 31 31.2 Longitude [degj 31.4 31.6 z-value -5 Figure 11. Z-value map of the rate change at the time of the Duzce earthquake. Dark lines mark the simplified rupture traces of the Izmit and Duzce earthquakes. A, B, and C mark the areas outside the rupture zones with large Z-value change. High (positive) Z-values (dark colors) represent a decrease in the seismicity rate. Low (negative) Z-values represent an increase. 3.2 Removal of Artificial Seismicity Pattern Seismicity patterns are analyzed to understand the information content in earthquake catalogs. Both natural and artificial effects produce anomalies in seismicity patterns. Since most of the catalogs have artificial seismicity rate changes (Habermann, 1982, 1983, 1986, 1987, 1991; Habermann and Wyss, 1984; Wyss and Burford, 1985; Wyss and Fu, 1989; Wyss, 1991), it is necessary to identify and R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 32 separate them before further analysis on changes in seismicity patterns caused by natural effects. In general, natural effects mean stress changes in a volume resulting from the increases or decreases of seismicity rate in an area around the mainshock location. As discussed by Zuniga and Wyss (1995), artificial effects include: 1) Change of agency operating the network (Habermann and Wyss, 1984). 2) Introduction of new software (e.g., RTF in central California, Wyss and Habermann, 1988). 3) Introduction of new hardware for analysis (e.g.. Computer tapes instead of develocorder film in the Adak network, Wyss, 1991). 4) Removal or addition of seismic stations (Habermann, 1982). 5) Changes in magnitude definition (Perez and Scholz, 1984). A tool called GenAS in ZMAP is used to investigate seismicity rate changes caused by artificial effects in our turkey data set. ZMAP is a set of tools driven by a GUI in Matlab designed to help seismologists analyze catalog data (Wiemer, 2001). GenAS was introduced by Habermann (1983) to find significant rate changes in an earthquake catalog. A plot of the GenAS output for all earthquakes recorded during the six-month operation period is given in Figure 12. Times of significant changes (at the 99% confidence level) are marked by light color for seismicity rate increase and by dark color for seismicity rate decreases as a function of magnitude band. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 33 GenAS - zmapturkey.dat 2000.11 ' 2000.0! 2000.01 1999.96- > .1999.90- % j # .2 1999.85- 1999.80- 1999.75- 1999.69- 1999.65-, : -5 0.5 1.2 2.0 2.7 3.5 0.5 1.2 2.0 2.7 Mag and below Mag and above 3.5 Figure 12. GenAS output. Times of significant changes (at the 99% confidence level, or Z value larger than 2.57) are marked by light color for seismicity rate increase, by dark color for seismicity rate decreases as a function of magnitude band. "Mag and below" and "Mag and above" mean all the earthquakes smaller and larger than magnitude M, respectively. As shown, a strong increase of small events is noticeable around year 1999.69 (Julian day: 251; 09/08/1999). A mild decrease of both small and large events is indicated from 1999.71 (Julian day: 259; 09/14/1999) to 1999.77 (Julian day: 281; 10/08/1999). After that, there is no clear change until year 1999.865 (Julian day: 316; 11/12/1999), when a strong increase of both small and large events in reported. After that, complicated pattern of decrease is shown for both small and R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 34 large events. Finally there is a slight decrease of large events at the end of the network operation period. The following statement can be made based on the above observation and plot of station operation periods (Figure 3) and the event frequency histogram (Figure 13). The seismic network was in a phase of buildup till Julian day 244. The strong increase of small events from Julian day 251 to 258 may reflect the adding and dropping of the stations as shown in Figure 3. After that, the mild drop of both small and large events may be related to the decay of the Izmit aftershock sequence. The strong increase around Julian day 316 apparently is due to the occurrence of the Duzce earthquake and its aftershocks. The complicated pattern of decrease after Julian day 316 is again the effect of rapid aftershock decay. The drop of large events at the end of the operation period may correspond to the adding of the dense T-array. Based on the above analysis, the only possible artificial effect is the removal or addition of seismic stations. Other possible artificial effects are checked and ruled out in the seismicity catalog. Further seismicity pattern study is focused on the catalog in the period from 09/13/1999 (Julian day 259) to the 01/25/2000 (Julian day 380) where there are no changes of the seismic stations. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 35 Figure 13. (a) Cumulative number of earthquakes versus their occurrence times, (b) Histogram of the event occurrence frequency per day. The four arrows mark the occurrence time of the Izmit (August 17,1999, Mw7.4), Karadere (November 7, 1999, Mw4.9), Sapanca (November 11,1999, Mw5.6) and Duzce (November 12, 1999, Mw7.2) earthquake, respectively. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 36 (1 5 4 I'K iv .v 2 V U Ü Tim e in vears 2 0 0 0 .1 2 (jO u ,2 (b) Time histogram > > o tZ h H _ a 2 5 0 2 fK ) Julian day 400 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 37 3.3 Seismicity Pattern Analysis There are many detection methods designed to observe changes of seismicity patterns. Four seismicity parameters (Magnitude Ratio, Average Depth, Time Intervals, and Cumulative Benioff Strain) are used in this work. The Magnitude Ratio (MR) is the ratio of numbers of events in two different magnitude ranges, which is deûned as: _ A (M > M ^) where My, is a magnitude threshold separating "small" and "large" events (Eneva and Ben-Zion, 1997). Here, is chosen to correspond to the middle point of the linear portion of the frequency-size statistics of earthquakes. Although 6 value is one of the most traditional parameters used to detect the anomalies before the large earthquake, a minor change in the definition line will cause changes in the 6 values. Therefore, instead of using the unstable 6 value, MR is chosen. The Average depth (AZ) is the mean value of hypocentral depths of events within a window. Depth distributions of events can be used to investigate the spatial changes before a large earthquake. The Time Interval (TI) is defined as the time interval for the occurrence of a given number of events. TI is the reciprocal of the seismicity rate, which is the number of events per unit time. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 38 The Cumulative Benioff Strain (CMS) is defined as: , where Mg is the Seismic Moment. The relationship between Mg and Seismic Potency Po is: ^0 — (3) where// is the shear modulus. Po can be deHned empirically as: log ^ (4) where y = 0.0612, c = 0.988 and = -0.87 from quadratic least squares fits for combined data of Southern California earthquakes with 1.0< <6.0 (Ben-Ziion and Zhu, 2002). From the above equations, the Cumulative Benioff Strain is i proportional to . Figures 14 and 15 show sliding window plots of those four parameters versus the time. Instead of using a fixed time window, we use the window size of 500 earthquakes and a sliding window of 100 earthquakes. The most prominent change is associated with occurrence of the Duzce earthquake and its aftershock sequences. However, we also And a slight change right before the Duzce mainshock. Figures 16 and 17 give a zoom-in plot of Figures 14 and 15 around the occurrence of the Duzce earthquake. Clearly there are two distinct changes around the Julian days of 311 (11/07/1999) and 315 (11/11/1999). To find out the spatial contribution to these two changes, we plot out in Figures 18 and 19 the locations of earthquakes that occurred in a one-day period. Clearly, the changes before the Duzce earthquake come from the occurrence of the Karadere earthquake (11/07/1999, Mw = 4.9) and the Sapanca R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 39 earthquake (11/11/1999, Mw = 5.6). lio et al. (2002) argued that these two earthquakes might reflect the stress concentrât]on caused by the rapid deep afterslips on the Karadere-Duzce segment. The loading is also a plausible mechanism that helps triggering the November Duzce earthquake (Burgmann et al., 2002). R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 40 (a) W in d ow lengtli = 5 0 0 . slid in g vjifidow len gtli = 1 0 0 , = 3 Izmit 300 310 320 330 340 3 K D 360 370 380 300 4K) 230 240 2îO 2 G 0 270 200 (b) zm it T .5 230 240 250 260 270 200 290 300 310 320 330 340 360 370 m ) 380 4 M ) Julian day Figure 14. The sliding window plots of (a) magnitude ratio and (b) averaged depth versus the time. The window length is 500 earthquakes and the sliding window length is 100 earthquakes. Two vertical lines mark the occurrence time of the Izmit and Duzce earthquake. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 41 ( a ) Window length = 500, sliding window len^h = 100, M = Z K ' 240 250 2 & j 270 280 2S0 300 310 320 330 340 360 3 6 C < 370 380 390 400 (b) uzce 0 240 250 260 270 2 @ ( i 290 300 310 320 330 340 350 360 370 3 8 C 390 40' Julian day Figure 15. The sliding window plots of (a) time intervals and (b) cumulative Benioff strains versus the time. Other symbols and notations are same as in Figure 14. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 42 (a) W lndo'^A ' length = 500, sliding v/lndow length = 100, = 3 305 306 307 306 309 310 311 312 313 314 316 316 317 316 318 320 (b) ; @ .4 Duzce 8.4 305 306 307 306 309 310 311 312 313 314 315 316 317 316 319 320 Julian day Figure 16.A zoom-in plot of Figure 14 around the occurrence time of the Duzce earthquake. The values of magnitude ratios immediately after the Duzce earthquake does not show in the figure because of the zoom-in scale. Other symbols and notations are same as in Figure 14. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 43 ( a ) Window length = 500. sliding window length = 100, = : 3 o A ■ C Ü > $ :ce (b ) Julian day Figure 17. A zoom-in plot of Figure 15 around the occurrence time of the Duzce earthquake. The values of cumulative Benioff strain immediately after the Duzce earthquake does not show in the figure because of the zoom-in scale. Other symbols and notations are same as in Figure 14. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 44 (a) Julian day j 10,80 events (b ) 4r i w ] 4P 30 ay Julian dav 3 11, 206 events Figure 18. Locations of earthquakes occurred on Julian day (a) 310 and (b) 311. Other symbols are same as in Figure 2. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 45 (a) JuUaii day 315, 139 events ( b ) Julian day 316,352 events km Figure 19. Locations of earthquakes occurred on Julian day (a) 315 and (b) 316. Other symbols are same as in Figure 2. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 46 CHAPTER 4 CONCLUSION About 26000 earthquakes were recorded by a 10-station PASSCAL seismic network deployed along and around the Karadere-Duzce branch of the NAP after the 1999, Izmit, Turkey, earthquake. To manage the collected seismic data effectively and systematically, I use the Antelope relational database system. A five step procedure is performed to convert the waveform data from SEGY to CSS3.0 waveform format and setup other related tables for the Turkey database: general setup, building the field part of the database, building the waveform part of the database, building the origin/assoc/arrival part of the database, and table clean up. After the database setup, I calculate the local magnitudes for all earthquakes. I also compared the seismicity patterns before and after the Duzce earthquake using the Z value map. Artificial seismicity patterns resulting from the change of the seismic stations are detected using GenAS program in ZMAP and removed from the catalog. Four seismicity parameters (Magnitude Ratio, Average Depth, Time Intervals, and Cumulative Benioff Strain) are used to detect the changes of seismicity pattern. Two significant changes are found about 10 days before the Duzce earthquake. These changes come from the occurrence of the Karadere earthquake (11/07/1999, Mw = 4.9) and Sapanca earthquake (11/11/1999, Mw = 5.6). R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 47 REFERENCES Akyüz, H. S., A. Barka, E. Altunel, R. Harüeb, and G. Suna], 2000. Field observations and slip distribution of the November 12, 1999 Duzce earthquake (M=7.1), Bolu, Turkey, m tAg 7999 Tzmzt mW Dwzcg f rghmfMary 7(gjw Z f.s, A. Barka, 0 . Kozaci, S. Akyüz, and E. Altunel (Editors), Istanbul Technical University Publication, Istanbul, 63-70. Ambraseys, N., 1970. Some characteristic features of the North Anatolian Fault Zone, 9,143-165. Anderson, I., W. E. Farrell, K. Garcia, J. Given, H. Swanger, 1990. Center for Seismic Studies Version 3 Database: Schema Reference Manual, Tgc/micuZ 7(gport C90-07, September 1990. Barka, A., 1992. The North Anatolian Fault Zone, Ann. Tectonicug, Spgc. fjswg m V . 97, 764-795. Barka, A., 1996. Slip distribution along the North Anatolian Fault associated with the large earthquakes of the period 1939 to 1967, B w Z Z . Soc. Am. 86, 1238-1254. Barka, A., H. S. Akyüz, G. Sunal, Z. Cakir, A. Dikbas, B. Yerli, E. Altunel, R. Armijo, B. Meyer, J. B. Chabalier, T. Rockwell, J. R. Dolan, R. Hartleb, T. Dawson, S. Chiistofferson, A. Tucker, T. Fumal, R. Langiidge, H. Stenner, W. Lettis, I. Bachhuber, W. Page, 2002. The surface rupture and slip distribution of the 17 August 1999 Izmit earthquake, M7.4, North Anatolian Fault, B w Z Z . S gM /M . Soc. Am. 92,43-60. Ben-Zion, Y., A note on quantiGcation of the earthquake source, S g Z & 7(es. T L gtt., 72, 151-152,2001. Ben-Zion, Y., Z. Peng, D. Okaya, L. Seeber, J. G. Armbruster, N. Ozer, A. J. Michael, S. Baris, and M. Aktar, 2003. A shallow fault zone structure illuminated by trapped waves in the Karadere-Duzce branch of the North Anatolian Fault, western Turkey, GgqpAyj:. 7. 7»t., 152, 699-717. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 48 Ben-Zion, Y., and L. Zhu, 2002. Potency-magnitude scaling relations for southern California earthquakes with 1.0<ML<7 0, Geop/iyj'. 7. 148, F1-F5. Burgmann, R., Ergintav, S., Segall, P., Hearn, E. H., McClusky, S., Reilinger, R.E., Woith, H., and Zschau, J., 2002. Time-Dependent Distributed Afterslip on and Deep below the Izmit Earthquake Rupture, B w Z Z . Am., 92, 126-138. Eneva, M. and Y. Ben-Zion, 1997. Application of pattern recognition techniques to earthquake catalogs generated by model of segmented fault systems in three- dimensional elastic solids, 7. Rg&,102, 24513-24528. Gulen L., A. Pinar, D. Kalafat, N. Ozel, G. Horasan, M. Yilmazer, and A. Isikara, 2002. Surface Fault Breaks, Aftershock Distribution, and Rupture Process of the 17 August 1999 Izmit, Turkey, Earthquake, R w lZ . 5'ei.ym . 5oc. Am., 92, 230-244. Habermann, R. E., 1982. Consistency of teleseismic reporting since 1963, R w Z Z . Sgzjm. 5oc. Am., 72, 93-112. Habermann, R. E., 1983. Teleseismic detection in the Aleutian Island Arc, 7. 88, 5056-5064. Habermann, R. E., 1986. A test of two techniques for identifying systematic errors in magnitude estimates using data from the Parkfield, California region, R « Z Z . 5gi,ym. Am. 76, 1660-1667. Habermann, R. E., 1987. Man-made changes of seismicity rates, R w Z Z . 5'gM m. 5oc. Am. 77, 141-159. Habermann, R. E., 1991. Seismicity rate variations and systematic changes in magnitudes in teleseismic catalogs, TgcmnopAys'fc.s. 193, 277-289. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 49 Habermann, R. E. and M. Wyss, 1984. Background seismicity rates and precursory quiescence: Imperial Valley, California, B w Z Z . Am. 74, 1743-1756. Hanks, T. C. and H. Kanamoii, 1979. A moment magnitude scale, 7. GeppAya:. 84, 2348-2350. Hartleb, R., I. Dolan, H. Akyüz, T. Dawson, A. Tucker, B. Yerli, T. Rockwell, E. Toraman, Z. Cakir, A. Dikbas, and E. Altunel, Surface rupture and slip distribution along the Karadere Segment of the 17 August 1999 Izmit and the Western Section of the 12 November 1999 Duzce, Turkey, Earthquakes, Bw R . Soc. Am., 92, 67-78. lio, Y., Horiuchi, S., Baris, S., Celik, C., Kyomen, J., Ucer, B., Honkura, Y., and Isikara, A. M., 2002. Aftershock Distribution in the Eastern Part of the Aftershock Region of the 1999 Izmit, Turkey, Earthquake, B w Z Z . Sa^m. Soc. Am., 92,411-417. Johnson, C.E., A. Bittenbinder, B. Bogaert, L. Dietz, and W. Kohler (1995). EartWorm: A flexible approach to seismic network processing, 7R7S 74(2), 1-4. Klein, W., 1978. Hypocenter location program HYPOINVERSE, USGS Open File Report 78-694. Ketin, I., 1969. On the North Anatolian Fault, B w Z Z . Miner. Rc& ExpZor. 72,1-28. Lee, W. H. K. (1994). Realtime Seismic Data Acquisition and Processing, lASPEI software library. Vol. 1 & 2, lASPEI Working Group on Personal Computers. Lettis, W., J. Bachhuber, R. Witter, C. Brankman, C. E. Randolph, A. Barka, W. D. Page, and A. Kaya, 2002. Influence of releasing step-overs on surface fault rapture and fault segmentation: examples from the 17 August 1999 Izmit Earthquake on the North Anatolian Fault, Turkey. E w Z Z . ScZmwZ. Soc. Am. 92, 19-42. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 50 Malone, S., 1999a. Seismic network recording and processing systems I, Seism, ^es. left. 70,175-178. Malone, S., 1999b. Seismic network recording and processing systems (continued). Seism. i(es. Z/ett. 70, 432-435. McClusky, S., S. Balassanian, A. Barka, C. Demir, S. Ergintav, I. Georgiev, O. Gu' rkan, M. Hamburger, K. Hurst, H. Kahle, et al., 2000. Global Positioning System constraints on plate kinematics and dynamics in the eastern Mediterranean and Caucasus, 7. GeopAys. Kes., 105,5695-5719. Perez, O.J. and C.H. Scholz 1984, Heterogeneity of the instrumental seismicity catalog (1904-1980) for strong shallow earthquakes, B w Z i. Seism. See. Am., 74, 669-686. Peng, Z. and Y. Ben-Zion, 2003. Spatial and temporal distributions of shear wave anisotropy and analysis of repeating earthquakes in the Karadere-Duzce branch of the north Anatolian fault, ms. Zn p r^ . Ramakrishnan, R. and Gehrke, J., 2000. Database management systems, second edition, McGraw-Hill Companies, Inc. Richter, C.F., 1935. An instrumental earthquake magnitude scale: BwiZ Seismoi. Soc. Am., 25,1-32. Richter, C.F., 1958, Elementary Seismology: W.H. Freeman and Co., San Francisco, CA, 768 pp. Reilinger, R. E., S. C. McClusky, M. B. Oral, R. W. King, M. N. Toksoz, A. A. Barka, I. Kinik, O. Lenk, and I. Sanh, 1997. Global Positioning System measurements of present-day crustal movements in the Arabia-Africa- Eurasia plate collision zone, 7. GeopAys. Res. 102, 9983-9999. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 51 Seeber, L., 1. G. Armbruster, N. Ozer, M. Aktar, Baris, S., D. Okaya, Y. Ben-Zion, and E. Field, 2000. The 1999 Earthquake Sequence along the North Anatolia Transform at the Juncture between the Two Main Ruptures, in gt a Z . g z Z Z r . T T ig 7999 T zm Z f aW Dwzcg prgZimimzry tgcZm ZcoZ W M Z v g r.;Z (y , 209-223. Teng, T.L., Y.M. Wu, T.C. Shin, Y.B. Tsai and W.H.K. Lee, 1997. One minute after: strong-motion map, effective epicenter, and effective magnitude, B w Z Z . Soc. Am., 87, 1209-1219. Tibi, R., Bock, G., Xia, Y., baumbach, M., Grosser, H., Milkreit, C., Kind, R. and Zschau, J., 2001. Rupture processes of the 1999 August 17 Izmit and November 12 Duzce (Turkey) earthquakes, GgqpZzy& 7. Znt., 144, F1-F7. Wiemer, S., 2001. A Software Package to Analyze Seismicity: ZMAP, BgZjm. R g.y. Lg«. 72, 373. Wilson, C.K. and Jones, C.H., 2002. Using Antelope for PASSCAL Reid Data Management, 7RZ5 DM5 EZgcrmnZc Z V g w j^Z g M g r, Vol. 4, No. 2. Wu, Y.M., W.H.K. Lee, C.C. Chen, T.C. Shin, TJL. Teng, and Y.B. Tsai, 2000. Performance of the Taiwan Rapid Earthquake Information Release System (RTD) during the 1999 Chi-Chi (Taiwan) earthquake, SgZsm. R g.$. LgZr., 71, 338-343. Wu, Y.M., and T.L. Teng, 2002. A Virtual Subnetwork Approach to Earthquake Early Warning, B w Z Z . Sgüm. Soc. Am., 92, 2008-2018. Wyss, M., 1991. Reporting history of the central Aleutians seismograph network and the quiescence preceding the 1986 Andreanof Island earthquake. B w Z Z . SgZjm. Soc., Amgr., 81, 1231-1254. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 52 Wyss, M. and R.O. Burford (1985). Current episodes of seismic quiescence along the San Andreas fault between San Juan Bautista and Stone Canyon, Caüfomia: Possible Precursors to local moderate mainshocks?, f/.S. GeoZ. Swrwey, qpgn /zZg 85-7^5, 367-426. Wyss, M., and Z. X. Fu, 1989. Precursory Seismic quiescence before the January 1982 Hilea Hawaii earthquake, B w Z Z . Soc. Am., 79, 756-773. Wyss, M., and R. E. Habermann, 1988. Precursory quiescence before the August 1982 Stone Canyon, San Andreas fault, earthquakes, PaggopA, 126, 333-356. Zuniga, R., and M. Wyss, 1995. Inadvertent changes in magnitude reported in earthquake catalogs: Influence on b-value estimates, B w Z Z . Sgiym. Soc. Am., 85,1858-1866. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 53 APPENDIX A: File segy2css.tbl # A ta b le t h a t maps the DAS instrum ent ID to s t a t i o n names. # Used by program segy2css t h a t convert th e waveform from PASSCAL SEGY to Datascope CSS fo rm a t. DAS 1062 1060 6080 1058 6091 0395 0362 6051 1058 6114 6097 6052 1061 1061 1060 1060 1059 1059 6029 1058 1058 0375 0375 1062 1059 6037 0340 7339 1061 6025 0531 0395 0362 0362 1060 0362 0375 1059 0375 6040 0395 0531 S t a r t 1999236 1999249 2000022 1999253 2000023 1999238 1999250 2000022 1999237 2000029 2000030 2000030 2000025 2000028 2000025 2000028 2000028 2000025 2000025 2000028 2000025 2000028 2000025 1999247 1999257 2000023 1999239 1999304 1999236 2000022 1999238 1999306 2000031 2000031 1999236 1999238 1999237 1999237 1999245 2000023 1999254 1999306 Time :10:38 :13:03 :19:38 :17:42 :19:47 :15:57 :14:01 :18:30 :11:41 :10:49 :13:59 :11:55 :16:13 :15:26 :15:19 :14:46 :14:05 :12:07 :11:18 :13:09 : 10:22 : 12:12 :09:30 :13:40 :11:50 :16:31 :13:07 :15:02 :11:43 :16:58 :14:25 :13:00 : 13:30 :13:30 :14:01 :10:56 :16:41 :13:33 :13:58 :17:45 :15:17 : 12:00 End Time 1999247:09 2000022 :19 2000043:15 2000023:19 2000043:09 1999254:13 : 2000022:18 2000042:16 1999253:14 2000044:15 2000044:15 2000044:16 2000044:07 2000044:07 2000044:08 2000044:08 2000044:08 2000044:08 2000044:09 2000044:11 2000044:11 2000044:10 2000044:10 2000044:10 2000023:16 2000043 : 08 1999279:12 2000043:14 2000022:16 2000042 :14 1999306:12 2000044:12 2000043:11 2000043:11 1999249:07 1999250:08 1999245:09 1999257:09 2000023:17 2000043 : 07 1999306:12 2000044:12 S ta tio n 40 AR 17 BU 56 BU 29 BV 52 BV 40 CF 13 CH 26 CH 40 CL 16 FOl 43 F02 09 F03 48 F06 48 F07 14 F08 14 F09 34 FIO 34 F l l 05 F12 25 F13 25 F14 40 F15 40 F16 09 FI 18 FP 42 FP 09 GE 38 GE 38 LS 46 LS 00 M O 37 M O 10 M U 10 mu 43 PT 41 SL 41 TS 41 TW 2 6 VO 52 VO 00 W F 40 W F R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 54 APPENDIX B: Program gen_wfdisc_all.sh D irecto ry : /h o m e /te rra -2 4/wrk24/Lamont/db # ! /b in /s h # Program g e n _ w fd isc _ a ll, sh # Shell s c r i p t program to modify the w fdisc ta b le under each day # by changing channel name from "1", "2", and "3" in wfdisc table to # "Z","N", and "E" according to the definitions in sensor table. # This program is used for the regular p e rio d of the temporary # seismic array (from Julian day 237, 1999 to 025, 2000) # usage; gen_wfdisc_all.sh 'nawk '{print $1}' day.id' fo r do day cd $day cd 01 dbset dbset dbset dbset -V -V -V -V chan chan chan dir ' 1 ’ '2 ' ' 3 ./' *.wfdisc .wfdisc * .wfdisc * .wfdisc 24/wrk24/Lamont/db/$day/01" cd . . /02 dbset -V dbset - V dbset - V dbset - V 24/wrk24/Lamont/db/$day/02" cd . . cat */*.wfdisc > t u r k e y .wfdisc dbset -V turkey.wfdisc segtype cd . . done *.wfdisc *.wfdisc *.wfdisc *.wfdisc chan chan chan d i r ' 4 ' 5 ' ■6' . /' EPZ_01' EPN_01' EPE_01' / e x p o rt/h o m e /te rra - EGZ_02' EGN_02' EGE_02' / e x p o rt/h o m e /te rra - 'V R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 55 APPENDIX C: Program gen_wfdisc_tt.sh D irectory: /h o m e /te rra -2 4/wrk24/Lamont/db # ! /b in /s h # Program g e n _ w fd isc _ tt.sh # Shell s c r i p t program to modify th e wfdisc t a b l e under each day # by changing channel name from "1", "2", and "3" in wfdisc ta b le to # "Z", "N", and "E" according to the definitions in sensor table. # This program is used f o r the T -a rra y p e rio d of th e temporay # seism ic a rra y (from Julian day 025, 2000 to 042, 2000) # S p e c ific ly , # in 01, make the follow ing changes of the station name of # from to # F06 F07 # FOB F09 # in 02, make the follow ing changes of the s t a t i o n name of # from to # FIO F ll # F13 F14 # F15 F16 # M U M V # usage : gen__wfdisc_tt. sh 'nawk '{print $1}' t t _ d a y . id ' fo r day do cd $day cd 01 dbset -V *.wfdisc chan '1' dbset -V *.wfdisc chan '2' dbset -V *.wfdisc chan '3' dbset -V *.wfdisc sta ' F06' ' dbset -V *.wfdisc sta 'FOB' ' dbset -V *.wfdisc dir "./' 24/wrk24/Lamont/db/$day/01" cd . . /02 'EPZ_01' 'EPN_01' 'EPE_01' F07 ' F09 ' "/e x p o r t/h o m e /te r r a - dbset -V * .wfdisc chan 4 ' 'EPZ_02' dbset -V * .w fdisc chan 5 ' 'EPN_02' dbset -V * .wfdisc chan 6 ' 'EPE_02' dbset -V ■k wfdisc sta ' F lO ' Fll ' dbset -V ■k wfdisc s t a ' F13 'F 1 4 ' dbset - V 'k wfdisc s t a 'F15 ' F16 ' dbset - V wfdisc s t a 'MU' 'MV' dbset -V * .w fdisc d i r " / " " / export/home 24/wrk24/Lamont/db/$day/02" cd . . c a t * /* .w fdisc > tu rk e y .w fd isc dbset - V tu rk e y .w fd isc segtype cd . . done ■V R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 56 APPENDIX D: Program modi_wfdisc.sh D irec to ry : /home/terra-24/wrk24/Lam ont/db # ! /b in / s h # Program modi_wfdisc.sh # Shell script program to modify the chan of the wfdisc table # under day by matching it with the sensor table # call Perl script ../bin/dbwfmatch_chan # usage: m odi_w fdisc.sh 'nawk '{ p r in t $1}' d a y .id ' fo r day do cd $day printf " S ta r t modifying the wfdisc of $day\n" cp . . / tu rk e y . dbfixids turkey wfid > /d e v /n u ll 2> /dev/null . ./. . /bin/dbwfmatch_chan -v turkey > dbwfmatch.log # next fix the id, caliper problem dbfixchanids turkey > /d e v /n u ll 2> /d e v /n u ll dbjoin turkey.wfdisc calibration | dbselect -s - wfdisc.calib:^calibration.calib > /dev/null 2> /dev/null dbjoin turkey.wfdisc calibration | dbselect -s - w f d is c .c a l p e r:^ c a l i b r a t i o n . c a lp e r > /d e v /n u ll 2> /dev/null rm turkey cd . . p r i n t f "Finish modifying the wfdisc of $day\n" done R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 57 APPENDIX E: Program dbwfmatch_chan D ir e c to r y : /home/ te r r a - 2 4/wrk2 4/Lament/bin : # nse p e r i eval 'exec $AN TELOPE/../perl/bin/perl -S $0 i f 0; use l i b "$ENV{ANTELOPE}/data/perl" ; re q u ir e " g e to p ts .p l" ; # Program dbwfmatch_chan # A Perl script program used to change the chan in wfdisc table by # matching it with th a t in the sensor table # Written by Zhigang Peng, # Initial coding; Thu Oct 24 18:02:43 PDT 2002 # updated by Xia Zhu, # selecting first and then do the costly join # this program is called by modi_wfdisc.sh if ( ! ScGetopts ( ' V ' ) I I ®ARGV != 1 ) { d ie ( "Usage: $0 [-v] database\n" ) ; } use Datascope ; $database = $ARGV[0] ; @db = dbopen ( $database, "r+" ) ; if($db[0] == -102) { d i e ( "Couldn' t open database $database\n"); } # open the wfdisc table # for each records, join with sensor table if($opt_v) { p r i n t "Finished opening database $database\n”; ) Bdbwf = dblookup(@ db,"","w fdisc"," " ," " ) ; $nrecords = dbquery(@dbwf,"dbRECORD_COUNT"); if($opt_v) { print "Finished opening wfdisc. Total nrecords is $ n re c o rd s \n " ; } $modify_counter = 0; $same_counter = 0; for{$dbwf[3] = 0; $dbwf[3] <$nrecords;$dbwf[3]++) { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 58 # open the sensor ta b le , fo r each w fdisc e n try , t r y to jo in w ith i t using sta $wfid = dbgetv(@dbwf,qw(wfid)); if($opt_v) { print "Start processing wfdisc id $wfid...\n"; } #@dbj = d b ] o i n ( @ d b w f , d b l o o k u p ( @ d b , " " , " s e n s o r " s t a " ) ; @dbwf_single = dbsubset{®dbwf,"wfid == \ "$ w fid \""); @dbj = dbj oin(@dbwf_single,dblookup(@db,"","s e n s o r " "sta"); $n = dbquery(@dbj,"dbRECORD_COUNT"); fo r($ d b j[3 ] = 0; $dbj[3] <$n;$dbj[3]++) { ($w fdisc_sta,$w fdisc_chan,$w fdisc_tim e,$wfdisc_wfid,$wfdisc_en d tim e ,$ s e n s o r_ sta ,$ s e n s o r_ c h a n ,$sensor_time,$sensor_endtime) = dbgetv{@dbj,qw(wfdisc.sta w f d is c.chan w f d is c.time wfdisc.wfid w f d is c . endtime s e n s o r . s ta s e n s o r .chan sensor.time sensor.endtime)); # next t r y to match th e time, i . e . , # wfdisc.time >= s e n so r.tim e , & & w f d is c .endtime <=sensor. endtime # extract the useful info, about the chan match $wfdisc_comp = s u b str($ w fd isc _ c h a n ,2 ,1 ); $wfdisc_group = s u b s t r ($w fdisc_chan,5 ,1 ); $sensor_comp = s n b s t r ($sensor_chan,2 ,1 ); $sensor_group = s u b s tr($ s e n s o r_ c h a n ,5 ,1 ); $chan_flag =0; # chan match flag # print "$wfdisc_comp $wfdisc_group $sensor_comp $sensor_group\n"; # next, try to match the s ta , chan, time and endtime i f ($wfdisc_group eg $sensor_group) { # first same group, 01/02 if ( ($sensor_comp eg $wfdisc_comp) || ($sensor_comp eg "1" & & $wfdisc_comp eg "Z") || ($sensor_comp eg "Z" && $wfdisc_comp eg "1") | | ($sensor_comp eg "2" && $wfdisc_comp eg "N") I I ($sensor_comp eg "N" && $wfdisc_comp eg "2") | | ($sensor_comp eg "3" & & $wfdisc_comp eg "E") || ($sensor_comp eg "E" & & $wfdisc_comp eg "3")) ( # if they are the same comp [ZNE|123] $chan_flag = 1; # i t ' s a match, s e t th e f la g to be 1 } } i f ($chan_flag & & ($w fdisc_sta eg $sensor_sta) & & ($wfdisc_time gt $sensor_time) & & ($wfdisc_endtime I t $sensor_endtim e)) { # s t a t i o n name is the same, double check # and the wfdisc time falls in the sensor on time # that's the final match if($opt_v) { print "$wfdisc_sta $wfdisc_chan $wfdisc_time $wfdisc_endtime $sensor__sta $sensor_chan $sensor_time $sensor_endtim e\n"; R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 59 # print them if verbose } # final set things back i f ($sensor_chan eq $wfdisc_chan) { # same comp, do nothing if($ o p t_ v ) { print "wfid $wfdisc_wfid has the same chan name as in sensor tableXn"; } $same__counter++ ; }else { # not the same name, updated the wfdisc sta to the sensor s ta # open another pointer to save the output wfdisc ©dboutput = dblookup{@db,"","w fdisc","wfid","$wfdisc_w fid"); dbputv(Sdboutput,"chan","$sensor_chan") ; if($opt_v) { p r i n t "Finish modifying wfdisc entry $wfdisc_wfid \n" ; } $modify_counter++; #dbfree(Odboutput); } } } dbfree(@ dbj); dbfree(@ dbw f_single); } dbclose(@db); # print out final msg if($ o p t_ v ) { print "Total $modify_counter e n t r i e s changed in wfdiscXn" ; print "Total $same_counter e n t r i e s have the same wfdisc and sensorXn"; } # end R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 60 APPENDIX F: Program dbver_all.sh D irectory: /home/terra-24/wrk24/Lam ont/db # ! /b in /s h # Program d b v e r_ a ll.s h # Shell s c r i p t program used to run d b v e rify fo r every ta b le under # each day # usage : d b v e r _ a ll. sh 'nawk ' { p rin t $1}' day.id' f o r day do cd $day printf " S ta rt v e r if y in g the table of $day\n" dbverify -v turkey > dbver.log cd . , printf "Finish v e r if y in g the table of $day\n" done R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 61 APPENDIX G: Program cat_wfdisc.sh Directo]:y: /h o m e /te rra -2 4/wrk24/Lamont/db # ! /b in /s h # Program c a t_ w fd is c . sh # Shell s c r i p t program used to ge n e ra te one b ig w fdisc ta b le by # co ncatenating every wfdisc table under each day # usage: c a t_ w fd is c .s h 'nawk '{ p r in t $1}' d a y .id ' fo r day do cd $day p r i n t f " S ta rt putting the table of $day\n" cat turkey.wfdisc » . . /tu rk e y .w fd is c cd . . printf "F inish putting the table of $day\n" done R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 62 APPENDIX H: Program check_ghost_event.pl D irecto ry : /h o m e /te rra -2 4/wrk24/Lamont/Catalog # ! / u s r / u s c / b i n / p e r l # Program check_ghost_event.pl # P erl s c r i p t program used to i d e n t i f y the ghost (duplicated) events # from the catalog and remove it. # I use the following criteria to determine whether two events are # duplicated: difference of origin times between two events less # than 1 sec, and the inter-hypocentral distances less than 1km. # Usage: check_ghost_event.pl & use Date::Calc gw(: all); use strict; # time difference for the ghost events my $time_diff_threshold = 1 ; $ t ime_di f f_ th r e sho1d = $ tim e_di f f _ th r e s h o ld /24/60/60; my $e p i_ d if f_ th re s h o 1d =10; # epi diff less than 1 km # in sec, need to convert the d a te by d iv id in g /24/60/60 my $outphase = "turkey_new. c a t"; open (PHASE,">$outphase") or die "can not open $outphase: $ !\n"; # start reading the catalog my $hypofile = "./tu r k e y _ s o r t . c a t"; #my $hypofile = "tu r k e y . tmp"; open(CAT,"$hypofile") or die " can not open $ h y p o f ile: $!\n"; my $counter = 1; my ($last_time, $last_lat,$last_lon,$last_dep,$time_diff,$epi_diff); while(<CAT>){my{$cat_year,$cat_syear,$cat_mon,$cat_day,$cat_hour,$ca t_ m in ,$ ca t_ sec ,$ c a t_ m sec ,$ c a t_ la t,$ c a t_ lo n ,$ c at_ d e p ,$ c at_ m a g ,$ c a t_ rm s ,$cat_jdate,$cat_id,$cat_m atch,$cat_time); # my $summary_unpack = "A4 x A7 x A8 x A4 x A5 x A2 x A5 x A3 x A5 X A6 x2 AS X A2 X A3 X A4 X A4 X A4 X A4 A1 A1"; chomp(); my $entry = $cat_year = s u b s t r ( $ e n t r y ,0 ,4 ); i f ($cat_year eg "1999") { $cat_syear = 99; } else{ $cat_syear = 90; } $cat_mon = s u b s tr ( $ e n t r y ,4 ,2 ) ; $cat_day = s u b s tr ( $ e n t r y ,6 ,2 ) ; $ c a t_ jd a te = Day_of_Year($cat_year,$cat_mon,$cat_day); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 63 $cab_hour = s u b s tr ( $ e n t r y ,9 ,2 ) ; $cat_^in = s u b s t r ( $ e n t r y , l l , 2 ) ; $cat_sec = s u b s tr ( $ e n tr y ,1 4 ,2 ) ; $cat_msec = s u b s tr ( $ e n tr y ,1 7 ,2 ) ; $ c a t_ la t = s p r i n t f (" %7.4f", s u b s tr ($entiry, 2 0,2) + s u b s t r ($ e n tr y ,2 3 ,5 ) /6 0 ); $cat_lon = s p r i n t f ( " % 7 .4 f ,s u b s t r ( $ e n t r y ,3 0 ,2 ) + s u b s t r ( $ e n t r y ,3 3 ,5 ) / 6 0 ) ; $cat_dep = s u b s tr ( $ e n tr y ,4 0 ,5 ) ; $cat_mag = 0.0; $cat_rms = su b str($ e n tiry ,6 5 ,4 ); # convert to generate 0. . . i f ($cat_jdate<10) { $c a t_ ]d ate = sprintf ( " 00%ld'', $cat_jdate) ; } elsif ($ c a t_ jd a te <100) { $ c a t_ jd a te = sprintf("0%2d",$cat_jdate); } i f ($cat_mon<10) { $cat_mon = sprintf("0%ld",$cat_mon) ; } i f ($cat_day<10) { $cat_day = s p r i n t f ("0%ld", $ cat_day); } if ($cat_hour<10) { $cat_hour = sprintf("0%ld",$cat_hour); } if ($cat_min<10) { $cat_min = sprintf{"0%ld",$cat_min); } if ( $cat__sec<10 ) { $cat_sec = s p r i n t f CO%ld'',$cat_sec); } $cat_match = $cat_syear.$cat_mon.$cat_day; $cat_id = $cat_match.$cat_hour.$cat_min.$cat_sec; $cat_time = $cat_jdate + $cat_hour/24 + $cat_min/24/60 + $cat_sec/24/60/60 + $cat_m sec/24/60/60/1000; i f ($counter >1) { $time_diff = abs{$last_time - $cat_time); $epi„diff = sqrt(($last_lon-$cat_lon)*($last_lon-$cat_lon) + ($ l a s t _ l a t - $ c a t _ l a t ) * ($ l a s t _ l a t - $ c a t _ l a t ) )*112 ; tprint "time_diff is $ tim e _ d iff, e p i_ d if f i s $epi_diff\n”; #print "current $cat_tim e $cat_lat $cat_lon\n"; #print "l a s t $last_time $last_lat $last_lon \n\n"; if ($time_diff < $ tim e_ d iff_ th re sh o ld & & $epi_diff < $ e p i_ d iff_ th re sh o ld ) { # print "$c a t_ id a t line $counter is a possible ghost e v e n t\n " ; p r i n t "$en try\n"; } e ls e { p r i n t PHASE "$entry\n"; }else { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 64 p r i n t PHASE "$entry\n"; ) $ last_ tim e = $cat_tim e; $last_lon = $cat_lon; $last_lat = $cat_lat; $last_dep= $cat_dep; $counter++; } close(CAT); close(PHASE); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 65 APPENDIX I: Program genhypocard.pl D irec to ry : /h o m e /te rra -2 4/wrk24/Lamont/Catalog # ! / u s r / u s c / b i n / p e r l # Program genhypocard.pl # A P erl program used to to fin d th e match between th e phase # a r r i v a l s and c a ta lo g inform ation f o r each event. We use the # difference between the P and o r ig in time le s s than 25 sec as the # first criteria to match the phase p ick s and event origins. We also # match the observed S a r r i v a l s with the e stim a ted one using a Vp/Vs # ratio of 1.5 ~ 2. # Input : # 27057FIXp: arrival information # DAS2stn.txt: s t a t i o n inform ation # turkey_new.cat : c a ta lo g information # Output : # "turkey_hypo_new.dat" in HYPOINVERSE format # used l a t t e r by hypoinverse2db program which convert the # information into a r r i v a l / a s s o c / o r i g i n tables in Datascope format # W ritten by Xia Zhu, # Initial coding : Thu Jul 25 12:00:15 PDT 2002 use constant HOME => "."; use Date:;Calc qw(:all); use s t r i c t ; # time difference th re sh o ld to match the P a r r i v a l and the origin time my $ d iff _ th r e s h o ld = 25; my $vpvsl = 1.5; my $vpvs2 = 2 ; # in sec, need to convert the d a te by d iv id in g /24/60/60 $ d iff_ th re s h o ld = $dif f__threshold/24/60/60 ; my $outphase = "turkey_hypo_new.dat"; #my $outphase = "turkey_hypo_new.tmp"; open (PHASE,">$outphase") or d ie "can not open $outphase: $!\n"; my $das2stn = " ../P a ra /D A S 2 s tn .tx t° ; open(STN,"$das2stn") or d ie " can not open $das2stn: $!\n"; # read DAS info into different hash tables #my g stn s = <STN>; my ($das,% stn_lon,% stn_lat,% stnam e,% das_start,% das_end); while(<STN>) { chomp(); my $e n try = R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 66 # i f ($entry =- Z''#/ & & s u b s tr ($enbry, 23,1) =- /[A -Z)/) { i f ($entry =- /''#/) { } e ls e { $das = s u b s t r ( $ e n t r y ,2 3 ,l ) .s u b s t r ( $ e n t r y ,2 5 ,3 ) ; $stn_lon{$das} = s p r i n t f ( " % 7 .4 f ,s u b s t r ( $ e n ti r y ,0 ,2 ) + s u b s t r ($ e n tr y ,3 , 5 ) / 6 0 ) ; $stn_lat{$das} = s p r i n t f ( " % 7 .4 f",su b str($ e n try , 9,2) + s u b s t r ($e n t r y ,1 2 ,5 ) / 6 0 ) ; $stname{$das} = s u b s t r ( $ e n t r y ,18,3); $das_start{$das) = s p r i n t f ( " % 8 .5 f ,s u b s t r ( $ e n t r y ,2 9 ,3 ) + s u b s tr ($ e n try ,3 3 ,2 ) /2 4 + s u b s tr ( $ e n tr y ,3 6 ,2 ) /2 4 /6 0 ) ; $das_end{$das) = sprintf("%8.5f" ,substr($entry,40,3) + s u b s tr ($ e n try ,4 4 ,2 ) /2 4 + s u b s t r ( $ e n t r y ,47,2)724/60); i f ($das_start{$das) < 200) { $das_start{$das} += 365; } i f ($das_end{$das) < 200) { $das_end{$das) += 365; } # relative to 1999/01/01 # print "$das $stn_lon{$das} $stn_lat{$das} $stname{$das} $ d a s _ s t a r t {$das) $das_end{$das) \ n " ; } } close(STN); # start reading the arrivals my $arrivalfile = " . . / P a r a / f ix _ p .d a t" ; #my $ a r r i v a l f i l e = " ./f ix__p . tmp" ; open (ARR,"$arrivalfile") or die " can not open $arrivalfile: $!\n"; my @ arrivals = <ARR>; close(ARR); # s t a r t reading the c a ta lo g my $hypofile = " . / turkey_new. c a t "; #my $hypofile = "turkey.tm p"; # use th e ghost removed events open(CAT,"$hypofile") or die " can not open $ h y p o f ile : $!\n"; while(<CAT>) { my ($ ca t_ y ea r,$cat_syear,$cat_m on,$cat_day,$cat_hour,$cat_m in,$cat_sec, $ c a t_ m se c ,$ c a t_ la t,$ c a t_ lo n ,$ c a t_ d e p ,$ c a t_ m a g ,$ c a t_ rm s,$ c a t_ jd a te ,$ c a t_ id ,$ c a t_ m a tc h ,$ c a t_ tim e ); # my $summary_unpack = "A4 x A7 x A8 x A4 x A5 x A2 x A5 x A3 x A5 X A6 x2 A5 X A2 X A3 X A4 X A4 X A4 X A4 Al A l"; chomp(); my $entry = $cat_year = s u b s tr ( $ e n t r y ,0 ,4 ) ; i f ($cat_year eq "1999") { $cat_syear = 99; } else{ $cat_syear = 90; } R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 67 $cat_mon = s u b s t r ( $ e n t r y , 4 , 2 ) ; $cat_d ay = s u b s t r ( $ e n t r y , 6 , 2 ) ; $ c a t _ j d a t e = D a y _ o f_ Y e a r ($ c a t_ y e a r ,$ c a t_ m o n ,$ c a k _ d a y ); $cat_hour = s u b s t r ( $ e n t r y , 9 , 2 ) $cat_m in = s u b s t r ( $ e n t r y , l l , 2 ) $ c a t _ s e c = s u b s t r ( $ e n t r y , 1 4 , 2 ) $cab_msec = s u b s t r ( $ e n t r y , 1 7 , 2 ) ; $ c a t _ l a t = s p r i n t f t "%7. 4 f " ,s u b s t r ($ e n t r y , 2 0 ,2 ) + s u b s t r ( $ e n t r y , 2 3 , 5 ) / 6 0 ) ; $ c a t_ lo n = s p r i n t f ("%7. 4 f " , s u b s t r ($ e n t r y , 3 0 ,2 ) + s u b s t r ( $ e n t r y , 3 3 , 5 ) / 6 0 ) ; $cat_dep = s u b s t r {$ e n t r y , 4 0 ,5 ) ; $cat_mag = 0.0; $cat_rms = s u b s t r ($ e n t r y , 6 5 , 4 ) ; # c o n v e r t to g e n e r a t e 0... i f ($ c a t_ jd a te < 1 0 ) { $ c a t _ j d a t e = s p r i n t f ("00%ld", $ c a t _ j d a t e ) ; } e l s i f ( $ c a t _ j d a t e <100) { $ c a t _ j d a t e = s p r i n t f {"0%2d", $ c a t _ j d a t e ) ; } i f ($cat_mon<10) { $cat_mon = s p r i n t f ("0%ld", $ cat„m on ); } i f ($cat_day<10) { $cat_day = s p r i n t f ("0%ld", $ c a t _ d a y ) ; 1 i f ($cat_hour<10) { $cat_hour = s p r i n t f ("0%ld", $ c a t _ h o u r ) ; } i f ($cat_m in<10) { $cat_m in = s p r i n t f (" 0%ld", $cat__min) ; } i f ($ ca t_ sec< 1 0 ) { $ c a t_ s e c = s p r i n t f ("0%ld", $ c a t _ s e c ) ; } $cat_m atch = $ c a t _ s y e a r . $cat_m on. $ c a t_ d a y ; #$cat_m atch = $ c a t _ s y e a r . $cat__mon. $ c a t _ d a y . $ c a t_ h o u r ; # $ c a t _ id = $ c a t _ ] d a t e .$ c a t _ h o u r .$ c a t _ m i n .$ c a t _ s e c ; # p r i n t "cat_match i s $ c a t_ m a tc h \n ” ; $ c a t _ id = $ c a t_ m a tc h . $ c a t_ h o u r . $ c a t_ m in . $ c a t _ s e c ; $ ca t„ tim e = $ c a t _ j d a t e + $ ca t_ h o u r /2 4 + $cat__min/24/60 + $ c a t _ s e c / 2 4 / 6 0 / 6 0 + $ c a t _ m s e c /2 4 /6 0 /6 0 /1 0 0 0 ; # p r i n t " $cat_tim e $cat_m atch $ c a t _ i d \ n " ; # now t r y to f i n d the match i n th e a r r i v a l t a b l e my ($ a r r _ e n tr y ); my $mflag = 0; # match f l a g my $ r f l a g = 1; # a r r i v a l r e c o r d f l a g , 1 i f i t i s a new s e t o f a r r i v a l s R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. my $rmflag = 0; # matched a r r i v a l reco rd , should be only one match my $pflag = 1; # p r i n t o r ig in in fo f la g , 1 to p r i n t , 0 not. foreach $arr_entry (©arrivals) { chom p($arr_entry); m y ($ le n ,$ d as,$ p se c,$ p m se c,$ sse c ,$ sm 3 e c ,$ isp ,$ iss,$ a rr_ tim e ,$ p _ day tim e ,$ s_ d a y tim e,$ p _ tim e d iff,$s_timediff); $len = le n g th ($ a rr_ e n try ); if ($len == 6) { $ rfla g = 1; $pflag = 1; i f ($mflag == 1) { $rmflag = 1 ; # finished the matched arrival record, set the flag to be 1 } }elsif ($arr_entry =~ /$cat_m atch/ & & $rflag) { # ok, we find the matched date for t h a t events # next we start to compare the time difference $arr_tim e =0; # clean previous records $s_daytime = 0 ; $p_daytime = 0 ; Spsec = 0; $pmsec = 0 ; $ssec = 0; $smsec = 0 ; # let's check if the time diference is less than 1 min my $arr_month = substr($arr_entry,11,2); my $arr_day = substr($arr_entry,13,2); my $arr_jday = Day_pf_Y ear($cat_year,$arr_m onth,$arr_day); my $arr_hour = substr($arr_entry,15,2); my $arr_min = substr($arr_entry,17,2); $isp = s u b s t r ( $ a r r _ e n t r y ,5 ,1 ); $ iss = s u b s t r ( $ a r r _ e n t r y ,38,1); i f ($iss eq "s") { $ssec = substr($arr_entry,31,3);# sometimes sec is more than 100 $smsec = s u b s tr ( $ a r r _ e n tr y ,3 4 ,3 ) ; $s_daytime = $arr_jday + $arr_hour/2 4 + $arr_min/24/60 + $ssec/24/60/60 + $smsec/24/60/60/1000; # $arr_time = $s_daytime; } i f ($isp eq "p") { $psec = substr($arr_entry, 19, 3) ; $pmsec = s u b s tr ( $ a r r _ e n tr y ,2 2 ,3 ) ; $p_daytime = $ arr_ jd ay + $arr_hour/24 + $arr_min/24/60 + $psec/24/60/60 + $pmsec/24/60/60/1000; # $arr_tim e = $p_daytime; } # e s tim a te the S time range my $time_diff = $p_daytime - $cat_tim e; my $s_estl = $time_diff*$vpvsl+$cat_time; my $s_est2 = $tim e_diff*$vpvs2+$cat_tim e; R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 69 # p r i n t "$cat_id $cat_tim e $p_daytime $s_daytime $ s_ e stl $ s_ e st2 \n "; i f ($p_daytime - $cat_tim e< = $ d iff_ th resh o ld & & $p_daytime - $cat_tim e >0) { i f ($s_daytime>0 & & $s_daytim e>=$s_estl & & $s_daytime<=$s_est2 || $s_daytime == 0) { # OK, l e t ' s match th e a r r i v a l and waveform $mflag = 1; i f ($rmflag >= 1) { # die "Event $cat_id have duplicate match ! !\n"; print "Event $cat_id have duplicate match ! !\ n " ; last; } # print the first origin line once i f ($pflag) { # p r in tf PHASE "# %4d %2d %2d %2d %2d %5.2f %7.4f %7.4f %5.2f 0.00 0.0 0.0 %4.2f % 9s\n",$cat_year,$cat_m on,$cat_day,$cat_hour,$cat_m in,$cat_sec+ $cat_ msec/1000,$ c a t_ la t,$ c a t_ lo n ,$ c a t_ d e p ,$ c a t_ rm s ,$cat_id; # print the o r ig in pick p r i n t f PHASE "\n%4s%2s%2s %2s%2s %s\n", $cat_year,$cat_m on,$cat_day,$cat_hour,$cat_min,substr($entry, 1 4) ; # set it to be 0 $pflag = 0; } $das = substr($arr_entry,0,4); #if ($isp eq "p" && ($stname{$das} ne "")) { # $p_timediff = ($p_daytime - $ c a t_ tim e )*24*60*60; # p r i n t f PHASE "%2s %6.3f 1.0 P\n",$stname{$das},$p_tim ediff; #} #if ($iss eg "s"&& ($stname{$das} ne "")) { # $ s_ tim ed iff = ($s_daytime - $ c a t_ tim e )*24*60*60; # printf PHASE "%2s %6.3f 0.5 S \n",$stnam e{$das},$s_tim ediff; #} i f ($stname{$das} ne { printf PHASE "% 4s% s\n",$stnam e{$das},substr($arr_entry,4); } } } e l s e { # not a match, let's jump to another a r r i v a l set $ r f la g = 0; #print "$arr_entry not a exact match, let's jump to another a r r i v a l s e t\ n " ; } R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 70 } } i f ($mflag == 0) { p rin t "Did not f in d any a r r i v a l s for $ c a t_ id !\n";} } close(CAT); close(PHASE); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 71 APPENDIX J : Program hypoinverseldb D irec to ry : /hom e/terra-24/w rk24/L am ont/table : # use p e r i eval 'exec $ANTELOPE/../perl/bin/perl -S $0 i f 0; use l i b "$ENV{ANTELOPE}/data/perl" ; # Program hypoinverse2db # Perl script program used to convert the HYPOINVERSE phase pick and # catalog information in "turkey__hypo_new.dat" to the # Antelope/Datascope format (namely the origin, assoc, and arrival # t a b l e s ) . # This program is modified from pick2db (Convert hypoellipse # p i c k f i l e s to datascope format) written by Dr.Kent Lindquist in # 11/95. # modified by Xia Zhu, Mon May 13 14:27:29 PDT 2002 use Datascope ; re q u ir e " g e to p ts .p l" ; re q u ir e "getcw d.pl"; sub c le a r_ g lo b a ls { $user = ""; $auth = "-"; $ o r ig in _ la t = $ o rig in _ lo n = $ origin_depth = ""; $origin_epoch = ""; $evid = -1; $orid = -1; $ml_auth = "- $ms_auth = "- $mb_auth = $md^auth = $md = -999.00; $mdid = -1; $origin_iab = -999.00 $originjm bid = -1; $origin_ms = -999.00 $origin_msid = -1; $origin_ml = -999.00 $origin_m lid = - 1 ; } sub identify_sum m ary_line { l o c a l ( $ l in e ) = my( $is_summary_line, $line_length ); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 72 $ l i n e _ l e n g t h = l e n g t h ( $ l i n e ) ; if( $line_length == 80) { $is_sum m ary_line = 1; $k w o d ig it_ y e a r = 1; $time_format = "A6"; } e l s i f ( $ l i n e _ l e n g t h == 82) { $is_summary_line = 1; $twodigit__year = 0; $time_format = "AS"; } e l s e { $is_suinmary_line = 0; $time_format = ""; } $siimmary_unpack = "$time_format x A4 x A5 x A2 x A5 x A3 x A5 X A6 x2 A5 X A2 x A3 x A4 x A4 x A4 x A4 A1 Al" ; return $is_suitimary_line; } sub unpack_summary { l o c a l ( $ l i n e ) = ®_; ( $sum_timel, $sum_time2, $sum_sec, $sum_latl, $sum_lat2, $sum_lonl, $sum_lon2, $sum_depth, $sum_mag, $sum_npha, $sum_gap, $ s u m _ d i s t l , $sum_rms, $sura_errH, $sum_errZ, $sum_badmark, $sum__guality) = unpack{$summary_unpack, $line); $sum_tiniel =- s/'^Xs+Z/; $sum_time2 = - sy^Xs+Z/; $sum_sec =- sZ^Xs+ZZ; $ s u m _ la tl =- sZ^Xs+ZZ, $sum _lat2 =- sZ^Xs+ZZ $sum_lonl =~ sZ^Xs+ZZ $sum_lon2 =- sZ^Xs+ZZ, $sum_depth =- sZ^Xs+ZZ; $sum_mag =- sZ^Xs+ZZ; $sum_npha =- sZ^Xs+ZZ; $sum_gap =- sZ^Xs+ZZ; $ s u m _ d is tl =- sZ^Xs+ZZ; $sum_rms =- sZ^Xs+ZZ; $sum_errH =- sZ^Xs+ZZ; $sum_errZ =- sZ^Xs+ZZ; $sum_badpark =- sZ^Xs+ZZ; $ su m _ g u a lity =- sZ^As+ZZ; sub unpack__phase { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. l o c a l ($line) = lo c a l($ lin e _ le n g th ) = l e n g th ( $ lin e ) ; i f ( $ lin e _ le n g th == 41) { $phase_unpack = "A4 A2 Al Al x AlO x A5 x7 A5 Al Al"; ($phs_sta, $phs_Pcode, $phs_fm, $phs_Weight, $phs_basetime, $phs_Psec, $phs_Ssec, $phs_srmk, $phs_Sweight) = unpack($phase_unpack, $ lin e ) ; $phs_sta =- s / ^ \ s + / / ; $phs_Pcode =- s / ^ \ s + / / ; $phs_fm =- s / ^ \ s + / / ; $phs_Weight s / ^ \ s + / / ; $phs_basetime =~ s / ^ \ s + / / ; $phs_Psec =- s / ^ \ s + / / ; $phs_Ssec =- s / ^ \ s + / / $phs_srmk =- s / ^ \ s + / / ; $phs_Sweight =~ s / ^ \ s + / / ; } elsif ($line_length ==26) { $phase_unpack = "A4 A2 Al Al x AlO x A5"; ($phs_sta, $phs_Pcode, $phs__fm, $phs_Weight, $phs__basetime, $phs_Psec, $phs_Ssec, $phs_srmk, $phs_Sw eight) = unpack($phase_unpack, $ lin e ); $phs_sta =- s / ^ \ s + / / ; $phs_Pcode =- s/^A s+ //; $phs_fm =- s / ^ \ s + / / ; $phs_Weight =~ s / ^ \ s + / / ; $phs_basetime =~ s / ^ \ s + / / ; $phs_Psec =- s / ^ \ s + / / ; } } sub process_comiïient { local {$coinment_type) = pop(@_); local($comment) = ®_; if($comment_type eq "T") { $comment =~ /USER = (\w+)/; $user = $1; } } sub summary_has_prigin_keys { lo c a l($ o r ig in _ tim e l,$ o r ig in _ tim e 2 ) ; my( $year, $month, $day, $hour, $min, $sec ); if{ $twodigit_year ) { $year_format = " \ \ d \ \ d " ; } e ls e { $year_format = " \ \ d \ \ d \ \ d \ \ d " ; } $origin_timel = $sum_timel; R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 74 $origin_kim el =- t r / /O/; $ o rig in _ tim e l =- / ^ ( $ y e a r _ f o r m a t) ( \ d \ d ) ( \d \ d ) / || return 0; $year = $1; $month = $2; $day = $3; $origin_tim e2 = $sum_time2; $origin_time2 =~ tr/ /O/; $origin_tim e2 =- / ^ ( \ d \ d ) ( \ d \ d ) / || return 0; $hour = $1; $min = $2; $sec = $sum__sec; # Add the seconds on afterwards; $sec can be > 60 in a pickflie # $sec = $sec / 100; $origin_epoch = str2epoch{"$month/$day/$year $hour;$min"); $origin_epoch += $sec; # $sum_lat =- / ^ ( [ \ d ]\d)([nsN S - ] ) ( [ \ d ] * \ d [ \ d ] * )/ || r e tu r n 0; # $ o r ig in _ la t = ($1 + ($3 / 6000)) * ($2 =- / [ s S - ] / ? -1 : 1); # $sum_lon ==- / " ( [ \ d ] [\d ]\d)([ewEW - ] ) ( [ \ d ] * \d [ \d ] * )/ || return 0 ; # # $origin_lon = ($1 + ($3 7 6000)) * ($2 =~ /[wW-]/ ? -1 : 1); $origin_lat = $sum__latl + $sum_lat2/60 ; $origin_lon = $sum_lonl + $sum_lon2/60; # N egative-depth pickfiles have a "-0" in the standard depth # column, indicating the real depth is in the extra depth column # (($sum_depth =- / ''( [ \ d ] * \d [ \d ]* )/) || # ($sum_depth =- / " '- [ \ d ] / & & $sum_extra_depth =- / ^ ( - \ d [ \ d ] * )/)) I I # r e tu r n 0 ; # $origin_depth = $1 / 100; $origin_depth = $sum_depth; r e t u r n 1; } sub Mb { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 75 l o c a l ($mbid,$mb_auth); if($sum_magtyp =- /[B b]/) { # B PDE Mb $mb_auth = “PDE"; $mbid = dbnextid(@db,"magid"); return $sum_mag/10,$mbid,$mb_auth; } e ls e { return -999.00,-1,""; } } sub Ms { local{$msid,$ms_auth); if{$sum_magtyp =~ /[Ss]/) { # S PDE Ms $ms_auth = "PDE"; $msid = dbnextid(@db,"magid"); return $sum__mag/10 , $msid, $ms_auth; } e ls e { return -999.00,-1,""; } } sub Ml { local($mlid,$ml_auth); if($sum_magtyp =- /[X x]/) { # X amplitude magnitude $ml_auth = $auth; $mlid = dbnextid(®db,"magid"); return $sum„mag/10,$mlid,$ml_auth; } elsif($sum_magtyp =~ /[Cc]/) { # C Canadian Ml $ml_auth = "CANADA"; $mlid = dbnextid(@db,"magid"); r e tu r n $sum_mag/10,$mlid,$ml_auth; } elsif($sum_magtyp =- /[P p ]/) { # P Palmer Ml R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 76 $ml_aubh = "Palmer"; $mlid = dbnextid(@db,"magid"); r e tu r n $sum_mag/10,$mlid,$ml_auth; } elsif($sum_xmag /^ \s * $ /) { $ml__auth = $auth; $mlid = dbnextid(@db,"magid"); return $sum_xmag/10,$mlid,$ml_auth; } e ls e { return -999.00,-1,""; } } sub Md { local($mdid,$md_auth); if($sum_fmag !- /^ \s * $ /) { $md_auth = $auth; $mdid = dbnextid(@db,"magid"); return $sum_fmag/10,$mdid,$md_auth; } e ls e { return -999.00,-1,""; } } sub set_m agnitudes ( ($origin_mb,$origin_mbid,$mb_auth) = &Mb() ($origin_m s,$origin_m sid,$m s_auth) = &Ms() ($origin_ml,$origin„mlid,$ml_auth) = &Ml{) ($md,$mdid,$md_auth) = &Md(); } sub assoc_wgt { local($h_wgt) = if($h_w gt eg "") { r e tu r n -1.000; ) e ls e { return $h_wgt/4 <= 1 ? $h_wgt/4 : 1; } } R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 77 sub convert_tim e { local($YrMoDyHrMn,$sec) = lo c a l($ e p o c h ,$ ]d a te ); $YrMoDyHrMn =- / " ( \ d \ d \ d \ d ) ( [ \ d ] \ d ) ( [ \ d ] \ d ) ( [ \ d ] \ d ) ( [ \ d ] \ d ) / ; $YrMoDyHrMn =- t r / /O/; # Add the seconds on a fte rw a rd s; $sec can be > 60 in a p i c k f i l e $epoch = s tr2 e p o c h (" $ 2 /$ 3 /$ l $4:$5"); $epoch += $sec; $ jd ate = jo in ("" ,s try d tim e ($ e p o c h ) =- / \ d + \ / \ d + \ / ( \ d + ) \ s . ( \ d + ) / ) ; re tu r n ($ e p o c h ,$ jd a te ); } sub num_ass_phases { lo c a l($ n ); $n = scalar(grep(substr{$_,19,5) !~ /^\s+$/,@ phase_row s)); $n += scalar(grep(substr($_,3 1 , 5 ) !~ /^\s+$/,@ phase_row s)); return $n; } sub num_def_phases { lo c a l($ n ); if($sum_npha) { return $sum_npha; } e ls e { $n = s c a l a r ( g r e p ( s u b s t r ($_,7,1) /[0123]/,@phase_rows)); $n += scalar(grep(substr($_,39,1) =~ /[0123]/,@ phase_rows)); re tu r n $n; } } sub num_stas_with_ml { lo c a l($ n ) ; $n = s c a l a r ( g r e p ( s u b s t r ($_,100,2) !- /^\s+$/,@ phase_row s)); r e tu r n $n; } sub nun\_stas_with_md { lo c a l($ n ); $n = s c a l a r ( g r e p ( s u b s t r ($_,102,2) /^\s+$/,@ phase_row s)); r e t u r n $n; R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 78 sub dtype { unless($sum _f !- /^As*$/) { r e tu r n if($sum _f == 0 II $sum_f == 8) { r e t u r n "f"; } elsif($sum_f == 1 || $sum_f ==9) { r e t u r n "g"; } e ls e { print STDERR "$ARGV: unexpected dtype translation problem print STDERR "(\$sumf = $sum_f)"; print STDERR "--continuingXn"; return "-"; } } sub tim edef { local ( Sweight ) = unless($w eight /^ \s * $ /) { r e tu r n if($ w e ig h t < 4) { return "d"; } e ls if( $ w e ig h t <= 8) { return "d"; ) e ls e { print STDERR "$ARGV: unexpected timedef translation problem "; } p r i n t STDERR "(phase weight = $weight)"; p r i n t STDERR "--continuingXn"; r e tu r n "-"; sub fake_chan { lo c a l( $ s ta ) = lo cal($ c h a n ,$ p e rio d ,$ g a in ,$ c o m p o n e n t,$ sta _ 2 ,$ sta _ 3 ); $sta_2 = s u b s t r ( $ s t a , 2 ,1 ); $sta_3 = substr($sta,3,1); if( $ s ta _ 3 =- /[p P ]/) { $period = "p"; # yuck } e ls e { $period = "s"; } $gain = "h"; if( $ s ta _ 2 eg || $sta_3 eq { $gain = "1"; } e ls e { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. $gain = "h"; } if( $ s ta _ 3 =- /[e E ]/) { $component = "e"; } e l s i f ( $ s ta _ 3 =- /[nN ]/) { $component = "n"; } else { $component = "z"; } $chan = "$period$gain$coinponent:"; return $chan; } sub netmag { local($evid,$orid,$auth) = l o c a l ( $ n s t a ) ; $nsta = &nuir\_stas_with_ml(); &add_netmag_entry($evid,$orid,$ml_auth,$nsta, $origin_mlid,"ml",$origin„ml); $nsta = -1; &add_netmag_entry{$evid,$orid,$ms_auth,$nsta, $origin_msid,"ms",$origin_ms); $nsta = -1; &add_netmag_entry{$evid,$orid,$mb_auth,$nsta, $origin_mbid,"mb",$origin_mb); $nsta = &nuit_stas_with_md(); &add_netmag_entry($evid,$orid,$m d_auth,$nsta, $mdid,"md", $md); } sub event { lo c a l($ e v id ,$ p re f o r,$ a u th ) = @db = dblookup(@db," ","event","" , " " ) ; dbaddv ( @db, "evid",$evid, "evname",$ARGV =- m @ ([''/]+)$&, " p re f e r " ,$ p re f o r, # " cominid" , commid, "auth",Çauth); elo g _ flu sh ( 1, 0 ); } sub o rig in { lo c a l($ a u th ) = local{$evid,$orid,$jdate); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 80 $evid = dbnextid(@db, "evid"); $orid = dbnextid(@db, " o rid "); $]d ate = ]o in (" " ,s try d tim e ($ o rig in _ e p o c h ) / \ d + \ / \ d + \ / ( \ d + ) \ s . ( \ d + ) / ) ; @db = dblookup(@ db," " ,"origin" e v a l { dbaddv(@db, 'l a t " , $ o r i g i n _ l a t , 'Io n " , $ o r ig in _ lo n , 'd e p th ” , $ o r ig in _ d e p th , 'tim e " , $ o r ig in _ e p o c h , 'o r i d " , $ o r id , 'e v i d " , $ e v id , ' j d a t e " , $ j d a t e , 'nass",&numLass_phases, 'ndef ", £cnum_def_phases, 'nd p " ,ndp, ' g r n " ,g m , 's r n " , srn, 'e t y p e " , $sum_t ? $sum_t 'depdp" ,depdp, 'd t y p e " ,& dtype(), 'mb", $origin_m b, 'mbid", $origin _m b id , 'ms", $o rig in _ m s, 'm sid", $ o r ig in _ m sid , 'ml" , $ o r ig in _ m l, 'm lid " , $ o r ig in _ m lid , 'a lg o r it h m " , a lg o r ith m , 'commid", commid, 'a u th " , $ a u t h ) ; ) }; elog_ flu s h ( 1, 0 ) r e t u r n $ o rid ,$ e v id ; } sub o r ig e r r { lo c a l($ o r id ) = l o c a l ( $ s t d e r l , $ s t d e r 2 , $ s t d e r ) ; lo c a l($ c o n f,$ sm a ja x ,$ s m in a x ,$ s trik e ,$ s d e p th ); i f ( g r e p ( / \ d / , ( $sum_aziml, $sum_dipl,$sum_stderl,$sum_azim2, $sum _dlp2,$sum _stder2,$sum _stder)) == 7) { $stderl = $sum_stderl / 100; $stder2 = $sum_stder2 / 100; $stder = $sum_stder / 100; o p e n (P ,"$ P ro je c t_ E llip se $sum_azim2 $sum_dip2 $stder2 $stder | $sum_aziml $sum_dipl $ s td e r l R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. $_ = <P>; s / ^ \ s + / / ; ($ sm a ja x ,$ sm in a x ,$ sd e p th ,$ strik e )= sp lit c lo s e (P ); $conf = 0.683; } e ls e { $smajax $sminax $sdepth $ s tr ik e $conf = } - 1.0000 - 1.0000 - 1.0000 - 1 . 00 ; 0 ; @db = d b lo o k u p (®db, " dbaddv(@db, "o r i d " , $ o r id , "s x x " , sxx, " sy y " ,sy y , "s z z " , s z z , "s t t " , s t t , " sx y " ,sx y , " s x z " ,s x z , "s y z " ,s y z , " s k x " ,s t x , " s t y " , s t y , "s t z " ,s t z , "sm ajax",$sm aiax, "sm inax", $sminax, " s t r i k e " , $ s t r i k e , "s d e p th " , $sdepth, "S tim e " , stim e , " c o n f" , $ c o n f , "commid", commid, "s d o b s ",$ sum_rms ? e l o g _ f l u s h ( 1, 0 ); origerr" $ sum_rms/lOO : -1.0000) sub P_phase { local {$auth, $orid) = @__; local($arid,$sec,$epoch,$jdate,$fm,$qual,$phs„basetime_tmp) r e t u r n unless($phs_P sec); $ a rid = dbnextid(@ db,"arid"); $phs_basetime_tmp = $phs_basetlme; i f (substr($phs_basetim e_tm p,0,2) eq "99") { $phs_basetime = "19" .$phs_basetime_tmp; } else{ $phs_basetime '2000".substr($phs_basetime_tmp,2); } R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 82 # print "phs__basetime is $phs_basetime\n" ; ($epoch,$jdate) = & convert_time($phs_basetime,$phs_Psec / 1 000); if($phs_fm _corr =- /[cCuU+]/) { $ f m = " c . " ; } e lsif($ p h s_ fm _ c o rr =- /[d D -]/) { $fm = "d."; } e ls e { $fm = } if($phs_Pcode =- / [ e E ] ./ ) { $qual = "e" } elsif($phs_Pcode =~ /[il]./) { $qual = "i' } e ls e { $qual = } i f ( $opt_c ) { $ch%n = & fake_chan($phs_sta); } e l s i f ( $opt_p ) { # if($phs_Pcode =~ /.[eE]/) { # $ chan = "E"; # } elsif{$phs_Pcode =~ /.[nN]/) { # $chan = "N"; # } elsif($ph s_P code =- / .[ z Z ] / ) { # $chan = "Z"; # } e ls e { # $chan = # } # for P, use EPZ_01 as chan $chan = "EPZ_01"; } e ls e [ $chan = } @db = dblookup(®db,"","arrival" , " " , " ") ; eval { dbaddv(@db, " sta " ,$ p h s _ s ta , "tim e",$epoch, "a r i d " ,$arid, "jdate",$jdate, # "stassid",stassid, # "chanid",chanid, "chan",$chan, "ip h a s e " , " P", # " sty p e 'b s ty p e , "deltim",$phs_Pse ? $phs_Pse / 100 : -1.000, R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 83 # "azim uth",azim uth, # " d e la z " ,d e la z , # " slo w " ,slo w , # " d e l s l o " , d e l s l o , "ema", $ p h s _ ta k e o ff ? $ p h s _ ta k e o ff ; - 1 . 0 0 , # " r e c t " , r e c t , # "amp" ,amp, # "p er" ,p er, # "l o g a t " , l o g a t , # " c l i p " , c l i p , "fm", $fm, # " sn r " ,sn r , " g u a l" , $qual, # "commid",commid, "auth", $ a u t h ) ; } ; elog__flush( 1, 0 ) ; r e tu r n u n l e s s ( ! $@); ®db = dblookup(@ db," " ," a sso c " , " ", " ") ; dbaddv(@db, "a r i d " , $arid , "o r i d " , $orid , "s t a " , $ p h s_ sta , "p h a s e " , "P", # " b e l i e f ", b e l i e f , "delta" , $phs__dist ? $ p h s _ d is t / 1 1 1 1 .9 5 : - 1 .0 0 0 , # " s e a z " ,s e a z , "e s a z " , $phs_azim ? $phs_azim : - 9 9 9 .0 0 , "t i m e r e s " , $p h s_ P resid ? $ p h s_ P r e sid / 100 : -9 9 9 .0 0 0 , " tim e d e f" , & tim e d e f($p h s_ W eig h t), # "a z r e s " ,a z r e s , # " a z d e f " ,a z d e f , # "s l o r e s " , s l o r e s , # " s l o d e f " ,s l o d e f , # "e m a res" ,em ares, # "vmodel",vmodel, # "commid", commid, " w gt",& assoc_w gt($phs_W eight)); e l o g _ f l u s h ( 1, 0 ); sub S_phase { lo c a l($ a u th ,$ o rid ) = lo c a l( $ a r id ,$ s e c ,$ e p o c h ,$ jd a te ) ; return unless ( $phs__Ssec) ; $ a rid = dbnextid(@ db,"arid"); ($epoch,$jdate) = &convert_time($phs_basetime,$phs_Ssec / 1 0 0 0); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 84 i f ( $opt_c ) { $chan = & fake_chan($phs_sta); } e l s i f ( $opt_p ) ( # if($phs_Pcode =- / .[ e E ] / ) { # $chan = "E"; # } elsif($phs_Pcode =- /.[n N ]/) { # $chan = "N"; # } elsif($phs_P code =- / .[ z Z ] / ) { # $chan = "Z"; # } e ls e { # $chan = "-"; # } # fo r S, use EPN_01 as chan $chan = "EPZ_01"; } e l s e { $chan = } ®db = dblookup(®db," " , " a r r i v a l " , " " , " " ) ; eval { dbaddv(@db, " sta ",$ p h s _ s ta , "tim e " ,$ epoch, "a r i d " , $arid, " j d a t e " ,$ jd a te , # "s t a s s i d " , s ta s s id , # "chanid", chanid, "chan", $chan, " ip h a s e " , "S", # " sty p e ",s ty p e , " d e ltim " , $phs_Sse ? $phs_Sse/100 : -1.000, # "azim uth", azimuth, # " d e la z ",d e la z , # "slow",slow, # " d e l s lo " , d e ls lo , # "ema" , ema, # " r e c t " , r e c t , # "amp" ,amp, # " p e r" ,p e r, # "l o g a t " , l o g a t , # " c l i p " , c l i p , # " fm", fm, # "s n r " , s n r , # "q u al" , q u a l , # "commid", commid, "au th ",$ au th ); j / e lo g _ flu sh ( 1, 0 ); r e t u r n unless(!$@ ); @db = dblookup(@db," " ," a s s o c " ," " , ""); dbaddv(@db, "a r i d " , $arid. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 85 " o rid " ,$ o rid , "sta",$phs_sba, "phase","S", # " b e lie f ", b e l i e f , " d e lta " ,$ p h s _ d is t ? $phs_dist / 1111.95 : -1.000, # "se az",seaz, "esaz",$phs_azlm ? $phs_azim : -999.00, "tim eres",$ p h s_ S resid ? $phs_Sresid / 100 : -999.000, "tim edef",& tim edef($phs_Sweight), # " a z r e s " , azres, # "azdef",azdef, # " s l o r e s " ,s lo r e s , # " s lo d e f " , s lo d e f , # "emares" , emares, # "vmodel",vmodel, # "commid", commid, "wgt" , &assoc_wgt($phs_Sweight)); elo g _ flu sh ( 1, 0 ); } sub amp_phase { lo c a l($ a u th ,$ o rid ,$ e v id ) = l o c a l ($ a rid ,$ e p o c h ,$jd a te ,$ m a g id ); r e t u r n u n l e s s ($phs_mxamp); $ a rid = dbnextid(@ db,"arid"); ($epoch,$]date) = & convert_tim e($phs_basetim e,0); @db = dblookup(@db," " , " a r r i v a l " , " " , " " ) ; eval { dbaddv(@db, "s t a " , $phs_sta, "tim e",$ epoch, " a r i d " , $arid, "j d a t e " ,$ jd a te , # "s t a s s i d " , s ta s s id , # "ch a n id ", chanid, "chan", $opt_c ? &fake_chan($phs_sta) : " ip h a s e " , "amp", # " sty p e ",s ty p e , # "d eltim ",d e ltim , # "azim uth", azimuth, # " d e la z ",d e la z , # "slow",slow, # " d e l s lo " , d e ls lo , # "ema" , ema, # " r e c t " , r e c t , "amp", $phs_mxamp / 2, "per",$phs_per / 100, # " lo g a t" ,lo g a t, # " c l i p " , c lip . R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 86 # "fm",fm, # "snr",snr, # "qual",qnal, # "commid",commid, "auth",$auth); } ; elog_flush( 1, 0 ); return unless @db = dblookup(@db,"","assoc","",""); dbaddv(@db, "arid",$arid, "orid",$orid, "sta",$phs_sta, "phase","amp", # "belief ",belief, "delta",$phs_dist ? $phs_dist / 1111.95 : -1.000, # "seaz",seaz, "esaz",$phs_azim ? $phs_azim : -999.00, # "timeres",timeres, # "azres",azres, # "azdef",azdef, # "slores",slores, # "slodef",slodef, # "emares",emares, # "vmodel",vmodel, # "commid",commid, # "wgt",wgt, "timedef","n"); elog_flush( 1, 0 ); if($phs„xmg && ($origin_mlid != -1) && ($ml_auth eg $auth)) { $magid = $origin_mlid; @db = dblookup (@db, " ", "stamag", " ", " " ) , - dbaddv(@db, "magid",$magid, "sta",$phs_sta, "arid",$arid, "orid",$orid, "evid",$evid, "phase","amp”, "magtype","ml", "magnitude",$phs_xmg / 10, # "uncertainty",uncertainty, # "commid",commid, "auth",$auth); elog__flush( 1, 0 ) ; } if($phs_fmg && ($mdid != -1)) { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 87 $magid = $mdid; @db = dblookup(8db,"","stamag", dbaddv(@db, "magid",$magid, "sta",$phs_sta, "arid",$arid, "orid",$orid, "evid",$evid, "phase","amp", "magtype","md", "magnitude",$phs_fmg / 10, # "uncertainty",uncertainty, # "commid",commid, "auth",$auth); elog_flush( 1, 0 ); } return; } sub add_netmag_entry ( local($evid,$orid,$auth,$nsta,$magid,$magtype,$mag) = return unless($magid != -1); @db = dblookup(@db,"","netmag","",""); dbaddv(@db, "magid",$magid, # "net",net, "orid",$orid, "evid",$evid, "magtype",$magtype, "nsta",$nsta, "magnitude",$mag, # "uncertainty",uncertainty, # "commid",commid, "auth",$auth); elog_flush( 1, 0 ); r e tu r n ; sub b u ild _ d e s c rip to r { lo cal($ ab sp ath ,$ cw d ,$ d b p ath ,$ ex tra_ d b s); i f (! -e $database) { open(DESCRIPTOR,">$database"); p r i n t DESCRIPTOR "c ss3 .0 \n "; R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. open(A,"$ENV{\"ANTELOPE\"}/bin/abspath $database |"); chop($abspath = <A>); close(A ); $cwd = getcwd(); if($abspakh =- m@/$cwd/([^/]+)@) { $dbpath = } e ls e { $dbpabh = $abspath; $dbpath =~ s@ {[''/]+) } if($opt_r) { $extra_dbs = $opt_r; $extra_dbs =- s@([^/]+):@{$l}:@g; $extra_dbs =- s@([^/]+)$@{$l}@g; $dbpath = "$dbpath;$extra_dbs"; } p r i n t DESCRIPTOR "$dbpath\n"; close(DESCRIPTOR); return ; } } $Project_Ellipse = "project_ellipse"; $Usage = "Usage; $0 [-cv] [-r reference_db[: reference_db. ..]] p i c k f i l e [ p i c k f i l e . . . ] dbname\n"; $opt_v = $opt_c = $opt_r = $opt_p = 0 ; # K ill " v a ria b le used once" e r r o r if { ! âGetopts('cpvr:') | j $#ARGV < 1 ) { die ( "$Usage" ); } e ls e { $database = pop(@ARGV); & b u ild _ d esc rip to r(); @db = dbopen ( $database, "r+" ) ; if($db[0] == -102) { die("Couldn't open database $database\n"); 1 while(<>) { # if ($. == 1) { i f (/"[1999 I 2000]/) { # match the summary card if($opt_v) { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. pickfile p r i n t STDERR "Processing f i l e $ARGV\n"; } & clear_glo bals(); u n l e s s (&identify_snmmary_line($_)) { close(ARGV); PRint STDERR "No summary line in pickfile "; print STDERR "$ARGV--skipping\n"; next ; } &unpack_suimnary ( $_) ; unless(&summary_has_origin_keys()) { close(ARGV); print STDERR "Insufficient summary info in p r i n t STDERR "$ARGV--skipping\n"; next; } } elsif (eof) { close(ARGV); } e l s i f ( y $ / ) { # next summary f i l e if($user) { $auth = $user; } else { ($auth) = $0 =~ m@([^/]+)$@; } # calling order is important: &set_magnitudes(); ($orid,$evid) = &origin($auth); & o rig e rr($ o rid ); &event($evid,$ o r i d ,$auth); &netmag($evid,$orid,$auth); while(@phase_rows) ( $row = shift(@ phase_rows); print "$row"; &unpack_phase($row); & P_phase($auth,$orid); & S_phase($auth,$orid); & am p_phase($auth,$orid,$evid); R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. } e l s i f (/"[Cc]\*[<\(]([A-Z ])[>\)]/) { $comment_type = $1; &process_comment($_,$comment_type); } e l s i f (/"[Cc]\*/) { $comment_type = “Freeform"; &process_comment($_,$comment_type); ) e l s i f (substr($_,0,4) =~ /[a-zA-Z]/) { push(@phase_rows,$_); } e ls e { print STDERR "$ARGV: row $. not understood: $_\n", } R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 91 APPENDIX K: Program dbassoc_delta D irecto ry : /h o m e /te rra -2 4/wrk24/Lamont/bin : # use peri eval 'exec $ANTELOPE/../perl/bin/perl -S $0 i f 0; use l i b "$ENV{ANTELOPE}/data/perl" ; require "getopts.pl" ; # Program dbassoc_delta # P erl s c r i p t program used to change the d e lt a in assoc # according to the distance(origin.lat,origin.Ion,site.lat,site.Ion) # written by Zhigang Peng, # Initial coding: Thu Oct 24 18:02:43 PDT 2002 # Modified by Xia Zhu, Thu Nov 07 14:20:32 PDT 2002 if ( ! &Getopts('v') || ÜARGV != 1 ) { d ie ( "Usage: $0 [-v] d atabase\n" ) ; } use Datascope ; $database = $ARGV[0] ; @db = dbopen ( $database, "r+" ) ; if($db[0] == -102) { d ie (" C o u ld n 't open database $database\n"); } if($opt_v) { print "Start to open database $databse\n"; } # open the assoc table @db = dblookup(@db," " , "assoc","",""); # try to join with the origin arrival and site @db = d b jo in (@ d b ,d b lo o k u p (@ d b ," " ."a rriv a l" ,"" ," ")); @db = dbjoin(®db,dblookup(@db,"","origin","","")); ®db = dbjoin(@db,dblookup(@db,site","","")) ; $nrecords = dbquery(@db,"dbRECORD_COUNT°); if($opt_v) { p r i n t "Finished join assoc, a r r i v a l , origin, and site. Total nrecords i s $nrecords\n"; } $modify_counter = 0; for($db[3] = 0; $db[3] <$nrecords;$db[3]++) { R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 92 # ( $ a s s o c _ a r id ,$ a s s o c _ d e lta ,$ o r ig in _ la t,$ o r ig in _ lo n ,$ s ite _ la t,$ s ite _ lo n ) = dbgetv(@ db,qw (assoc.arid a s s o c .d e l t a o r i g i n . l a t origin.Ion site.lat site.Ion)); ($assoc_arid) = dbgetv(@ db,gw (assoc.arid)); # e x tr a c t th e u s e fu l in fo . if($ o p t_ y ) { # p r i n t "$assoc_delta $ o r ig in _ la t $ o rig in _ lo n $ s i t e _ l a t $site_lon\n"; p r i n t "Start to modify arid $assoc_arid\n"; # print them if verbose } # final s e t delta to be distance(origin. l a t ,origin.Ion,site.lat,s i t e .I o n ) $delta = dbex_eval(@db,"distance(origin.lat, origin.Ion, site.lat, site.lon)"); # p r i n t "$assoc_arid $ d e lta \n " ; # open another pointer to save the output wfdisc ©dboutput = dblookup(@db,"","assoc","arid","$assoc_arid"); dbputv(©dboutput,"delta","$delta"); $modify_counter++; } dbclose(@db); #dbclose(@dboutput); # print out f i n a l msg if($opt_v) { print "Total $modify_counter entries changed in assocVn"; } # end R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 93 APPENDIX L: File dbampmag.pf # Param eter f i l e fo r orbampmag and dbampmag # la te n c y and maxwaittime a re only needed f o r orbampmag # b u t to allow the usage of the same param eter f i l e fo r b o th # re a ltim e (orbampmag) computations and p o s tp ro c e ss in g (dbampmag) # they a re included in the p a ra m e te rf ile # they a re ignored when running dbampmag # m o d ifie d by Xia Zhu, Tue Jan 22 2 0 :4 4 :1 7 PDT 2003 % la te n c y 30.0 # group la te n c y maxwaittime 60.0 # A hard timeout v a lu e i n seconds f o r re a d in g waveform p a c k e t s . # I f no waveform packets f o r the s e le c te d channels a re re c e iv e d # w ithin t h i s time p e rio d , th e n th e waveform r e a d in g loop i s # i n te r r u p te d and any f u r t h e r p ro ce ssin g f o r t h a t event is # a b o rte d . magtype ml # v a l i d v a lu e s a r e mb, ml and ms # of c o u rse o th e r p a ra m e te rs have to be s e t a c c o rd in g to t h i s choice v_r 4 .0 # v e l o c i t y f o r s u r f a c e waves used to determ in e s u rfa c e wave a r r i v a l time timeO P # s t a r t o f m easu rin g tim e window # P - pphasetime (see man pphasetime) # S - sphasetime # R - r a y le ig h wave - here we use deg2km(delta) / v_r time_window 3 # The waveform fo r p ro c e ssin g th e magnitude is determ ined by a time # window s t a r t i n g from th e a r r i v a l defined by the timeO param eter f i r s t P - a r r i v a l . # to tim e _ fa c to r* (S__time-P-time) seconds a f t e r th e m indelta 0 # d ista n c e range in degrees maxdelta 180 # # a 'g e n e ra l' m agnitude form ula c o u ld be: # cO+loglO (am p)+cl*loglO(delta)+c2*loglO(delta*c3+c4)+c5 # d e lt a i s th e d ista n c e in degrees # where c2,c3,c4,c5 a re statio n -d e p en d e n t # thus cO and c l a re to be changed here, where c2,c3,c4,c5 are to be changed s ta tio n - w is e R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 94 # beware: cO has to be converted i f yon have a formula where d e lta i s im km # in t h i s case s u b tr a c t Iogl0(deg2km (l))*cl from the 'o r i g i n a l ' coefficient cO -0.104 cl 1.65 f i l t e r BW 0.6 3 3 3 mag &Tbl{ # s ta t io n s param eters f o r computing magnitudes # sta chan_expr calib_from__db d e c o n _ in str apply._wa_ s n r_ th resh la te n c y c2 c3 c4 c5 AR EP[ZNE]_01 yes no no 3 . 0 0.0 0.0 1. 0 1. 0 0. 0 BU EG[ZNE]_02 yes no no 3 . 0 0.0 0. 0 1.0 1.0 0.0 BU EP[ZNE23]_i 01 yes no no 0 . 0 0. 0 1. 0 1.0 0.0 BV EG[ZNE]_02 yes no no 3 . 0 0 . 0 0. 0 1.0 1. 0 0 . 0 BV EG[ZNE]_02 yes no no 3 . 0 0.0 0. 0 1.0 1.0 0 . 0 BV EP[ZNE]_01 yes no no 3 . 0 0.0 0. 0 1. 0 1. 0 0 . 0 CF EG[ZNE]_02 yes no no 3 . 0 0.0 0. 0 1.0 1. 0 0.0 CF EP[ZNE]_01 yes no no 3 . 0 0 . 0 0. 0 1. 0 1.0 0.0 CH EG[ZNE23]_i02 yes no no 0.0 0. 0 1.0 1.0 0.0 CH EP[ZNE]_01 yes no no 3.0 0.0 0. 0 1. 0 1.0 0 . 0 CL EG[ZNE]_02 yes no no 3 . 0 0.0 0. 0 1. 0 1.0 0 . 0 CL EP[ZNE]_01 yes no no 3 . 0 0.0 0. 0 1. 0 1. 0 0.0 FOl EP[ZNE]_01 yes no no 3.0 0 . 0 0. 0 1.0 1. 0 0.0 F02 EP[ZNE]_01 yes no no 3.0 0 . 0 0. 0 1. 0 1.0 0 . 0 F03 EP[ZNE]_01 yes no no 3.0 0 . 0 0. 0 1.0 1. 0 0.0 F06 EP[Z23]_02 yes no no 3 . 0 0 . 0 0. 0 1.0 1. 0 0.0 F07 EP[Z23]_01 yes no no 3.0 0.0 0. 0 1.0 1. 0 0.0 F08 EP[Z23]_02 yes no no 3.0 0 . 0 0. 0 1.0 1.0 0.0 F09 EP[ZNE]_01 yes no no 3.0 0 . 0 0. 0 1.0 1. 0 0.0 FIO EP[ZNE]_01 yes no no 3.0 0 . 0 0. 0 1.0 1. 0 0.0 F ll EP[ZNE]_02 yes no no 3.0 0 . 0 0. 0 1. 0 1.0 0.0 3.0 3 . 0 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 95 P12 EP[ZNE]_01 yes no no 3 . 0 0 . 0 0.0 1.0 1.0 0.0 P13 EP[Z23]_01 yes no no 3 . 0 0.0 0.0 1.0 1.0 0.0 P14 EP[ZNE]_02 yes no no 3.0 0.0 0.0 1,0 1.0 0.0 PIS EP[ZNE]_01 yes no no 3.0 0.0 0.0 1.0 1.0 0.0 F16 EP[ZNE]_02 yes no no 3 . 0 0.0 0.0 1. 0 1.0 0.0 PI EG[ZME23]_02 yes no no 0 . 0 0.0 1.0 1.0 0.0 FI EP[ZNE23]_01 yes no no 0.0 0.0 1. 0 1.0 0.0 FP EG[ZNE]_02 yes no no 3 . 0 0.0 0.0 1.0 1. 0 0.0 FP EP[ZNE]_01 yes no no 3.0 0 . 0 0.0 1.0 1. 0 0.0 FP EP[ZNE]_01 yes no no 3.0 0 . 0 0.0 1.0 1.0 0.0 GE EP[ZNE]_01 yes no no 3.0 0 . 0 0.0 1.0 1. 0 0.0 GE HH[ZNE]_02 yes no no 3.0 0.0 0 . 0 1. 0 1.0 0.0 LS EP[ZNE]_01 yes no no 3 . 0 0.0 0.0 1.0 1. 0 0 . 0 LS EG[ZNE]_02 yes no no 3.0 0.0 0.0 1.0 1.0 0.0 M O EP[Z23]_01 yes no no 3 . 0 0.0 0.0 1.0 1. 0 0.0 M O EG[ZNE]_02 yes no no 3 . 0 0.0 0.0 1.0 1. 0 0 . 0 M O HH[ZNE]_02 yes no no 3 . 0 0.0 0.0 1.0 1.0 0 . 0 M V EP[ZNE]_01 yes no no 3.0 0.0 0.0 1. 0 1.0 0 . 0 M V EP[ZNE]_02 yes no no 3 . 0 0.0 0.0 1. 0 1.0 0.0 PT EP[ZNE]_01 yes no no 3 . 0 0.0 0.0 1. 0 1.0 0.0 PT EG[ZNE]_02 yes no no 3 . 0 0.0 0.0 1. 0 1. 0 0.0 SL EP[ZNE]_01 yes no no 3 . 0 0.0 0.0 1.0 1.0 0 . 0 SL EG[ZNE]_01 yes no no 3.0 0 . 0 0.0 1.0 1.0 0.0 TS EG[ZNE]_02 yes no no 3.0 0.0 0.0 1. 0 1.0 0 . 0 TS EP[ZME]_01 yes no no 3.0 0.0 0.0 1.0 1.0 0.0 TW EG[ZNE]_02 yes no no 3.0 0.0 0.0 1.0 1.0 0.0 3.0 3.0 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. 96 TW EP[ZNE]_01 yes no no 3.0 0 . 0 0 . . 0 1.0 1.0 0.0 VO EG[Z23]_02 yes no no 3.0 0 . 0 0 ,. 0 1.0 1. 0 0.0 VO EP[ZNE]_01 yes no no 3.0 0.0 0 . . 0 1.0 1. 0 0 . 0 W F EG[ZNE]_02 yes no no 3.0 0 . 0 0..0 1. 0 1. 0 0 . 0 W F EP[ZNE]_01 yes no no 3.0 0 . 0 0 . , 0 1.0 1.0 0.0 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Simulating nonplanar fault surfaces using stochastic branching
PDF
Modeling of continuous tiltmeter data from the 1984 rifting event at Krafla Volcano, Iceland
PDF
Three-dimensional reconstructions of fold growth using growth strata: An example from the Catalan Coastal Ranges, northeast Spain
PDF
Systematic analysis of crustal anisotropy and attenuation using seismic data associated with the 1999 Chi-Chi, Taiwan, earthquake
PDF
Using small events to measure the evolution of the strain and stress fields before the 1992 Landers, California earthquake
PDF
A unified methodology for seismic waveform analysis and inversion
PDF
Seafloor precipitates and carbon-isotope stratigraphy from the neoproterozoic Scout Mountain member of the Pocatello Formation, Southeast Idaho: Implications for neoproterozoic Earth history
PDF
The origin of enigmatic sedimentary structures in the Neoproterozoic Noonday dolomite, Death Valley, California: A paleoenvironmental, petrographic, and geochemical investigation
PDF
Structural evolution of the southwestern Daqing Shan, Yinshan Belt, Inner Mongolia, China
PDF
Lower Cambrian trace fossils of the White-Inyo Mountains, eastern California: Engineering an ecological revolution
PDF
Late Holocene depositional history of western shelf margin, Gulf of California, Mexico
PDF
The study of temporal variation of coda Q⁻¹ and scaling law of seismic spectrum associated with the 1992 Landers Earthquake sequence
PDF
Oxygen-related biofacies in slope sediment from the Western Gulf of California, Mexico
PDF
A tectonic model for the formation of the gridded plains on Guinevere Planitia, Venus: Implications for the thickness of the elastic lithosphere
PDF
Multi-proxy studies of climate variability in central China: Subdecadal to centennial records in stalagmite from Budda Cave
PDF
Geology and structural evolution of the southern Shadow Mountains, San Bernardino County, California
PDF
Paleoseismology and geomorphology of the eastern Sierra Madre fault: Evidence for a >8ka age of the most recent event
PDF
Paleoenvironments and paleoecology of the disaster taxon Lingula in the aftermath of the end-Permian mass extinction: Evidence from the Dinwoody Formation (Griesbachian) of southwestern Montana...
PDF
Reinterpreting the tectono-metamorphic evolution of the Tonga Formation, North Cascades: A new perspective from multiple episodes of folding and metamorphism
PDF
Silicic and germanic acids: Laboratory determination of their molecular diffusivities and field study of their benthic fluxes along the California margin
Asset Metadata
Creator
Zhu, Xia
(author)
Core Title
Management of large earthquake data using the Antelope Relational Database and seismicity analysis of the 1999 Turkey earthquake sequences
Degree
Master of Science
Degree Program
Geological Sciences
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
geophysics,OAI-PMH Harvest
Language
English
Contributor
Digitized by ProQuest
(provenance)
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c16-310171
Unique identifier
UC11327427
Identifier
1417948.pdf (filename),usctheses-c16-310171 (legacy record id)
Legacy Identifier
1417948.pdf
Dmrecord
310171
Document Type
Thesis
Rights
Zhu, Xia
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the au...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus, Los Angeles, California 90089, USA
Tags
geophysics