This tool is meant to do teleseismic backprojections, by forming virtual arrays from available global teleseismic stations. DEPENDENCIES: ObsPy: https://github.com/obspy/obspy/wiki pyrocko/snuffler: https://github.com/pyrocko/pyrocko GMT: http://gmt.soest.hawaii.edu Manual and steps - FOR GENERAL OPTIONS CHOOSE PARAMETERS IN GLOBAL.CONF - EVENT DEPENDENT OPTIONS YOU CAN CHANGE IN THE CONFIG FILE OF THE EVENT IN THE EVENTFOLDER PROCESSING STEPS: STEP 1) PYTHON ARRAYTOOL.PY SEARCH: - Search for earthquakes and thier id's. - Searchparameter need to be defined beforehand in GLOBAL.CONF - POSSIBLE PARAMETER: - date from to - magnitude - catalog - number of result STEP 2) PYTHON ARRAYTOOL.PY CREATE EVENTID: - creates the event and eventfolder, use the id that given out in step 1 STEP 3) PYTHON ARRAYTOOL.PY GETSTATIONS EVENTFOLDERNAME: - search for stations in IRIS AND WEBDC WITH SEARCHPARAMETERS DEFINED IN GLOBAL.CONF - POSSIBLE PARAMETER: - MINDISTANCE FROM EVENT - MAXDISTANCE FROM EVENT - NETWORKS FOR BLACKLIST STEP 4) PYTHON ARRAYTOOL.PY GETDATA EVENTFOLDERNAME: - ACQUISITION OF ARCHIVED WAVEFORMDATA FROM IRIS AND EIDA SAVED AS SDS IN THE EVENTFOLDER - COPY KEYFOLDERNAME FROM STEP 3 INTO GLOBAL.CONF !!! - POSSIBLE PARAMETER: - KEYFOLDER - DURATION OF WAVEFORMDATA STEP 5) PYTHON ARRAYTOOL.PY GETMETA EVENTFOLDERNAME: - Download stations meta info (needs to be improved) STEP 6) PYTHON ARRAYTOOL.PY PLOTSTATIONS EVENTFOLDERNAME: Plot Stationsmap STEP 7) PYTHON ARRAYTOOL.PY CLUSTER EVENTFOLDERNAME: - clustering of stations to arrays (gives you arrayconfiguration + overview plot) - CONFIGURATION PARAMETER IN THE EVENT CONFIG FILE (eventname.config) - POSSIBLE PARAMETER: - CLUSTERMETHOD (DISTANCE ZONING/ KMEANS) DISTANCE ZONING: beginMinStationDistance = 1 endMinStationDistance=59.9 beginMaxStationDistance=60 endMaxStationDistance=90 KMEANS: maxCluster = 2 (amount of clusters you would like to have at the end of clustering) minStationAroundInitialCluster = 5 (minimum station around initial cluster center to be one inital cluster) initialstationdistance = 10 (stations must be 10 degree around initial cluster center) cutoff = 30 (if no final result for kmean then run only 30 times and take last result) runs = 5 (repeatings for kmean clustering to get best result) centroidminDistance = 20 (minimum distance of initial centroids,UNIT IN DEGREE) comparedelta = 2 stationdistance = 10 (maximum distance from station to cluster center) minClusterStation = 10 (minimum stations per cluster) STEP 8) PYTHON ARRAYTOOL.PY PROCESS EVENTFOLDERNAME: - ARRAYPROCESSING OF THE EVENT - CONFIGURATION PARAMETER IN THE EVENT CONFIG FILE - You will be asked for each array to manually pick the onset of the P-wave at the array centre in seconds Snuffler is needed for this Parameters: tttopt = -ph P (choose phase to calculate traveltimes) depths=0,1,5 (how many depth to calculate depth lower, depth higher, depth step) dimx = 40 (x dimension in points of the grid area) dimy = 40 (y dimension in points of the grid area) minDist = 30 (minimum distance between hypocenter and stations to be used) maxDist = 95 (maximum distance between hypocenter and stations to be used) step = 5 (sliding time window shift) winlen = 30 (length of sliding time window ) forerun = 200 (length in seconds, timewindow before processing) duration = 500 (length in seconds, timewindow for processing) security = 60 (length in seconds, timewindow before and after forerun and duration) gridspacing = 0.2 (gridspacing in degree, distance between gridpoints in processing area) ttphase=P (traveltime phase) export_unfiltered=false (export option for waveform data, raw waveforms) export_filtered=false (export option for waveform data, filtered waveforms) export_resampled=false (export option for waveform data, filtered+resampled waveforms) new_frequence = 20 (working sampling frequency, all waveform will be converted to this sampling frequency) ncore = 2 (number of processes for processing, max = number of timesteps) fm = 1 (usage of focal mechanism 1=True, 0=False, must be defined in origin file of the event) xcorr=1 (usage of crosscorrelation per array to get traveltime correction for array) autoxcorrcorrectur = 0 (parameter for crosscorrelation, influence time shift of reference station, manual picking for control) xcorrtreshold = 0.6 (treshold for crosscorrelation, station with lower then treshold will not be used in processing) plotcopy=plot1,plot2,plot3,plot4,rerun (COMMA SEPERATED LIST OF SCRIPT WHICH SHOULD BE COPIED FROM SKELETON TO EVENTFOLDER) plot1 = semblance-plot.sh (SCRIPT TO PLOT EVERY TIMESTEP OF PROCESSING, FOUND IN SKELETON) plot2 = summary-plot.sh (SCRIPT TO PLOT EVENT SUMMARY, FOUND IN SKELETON) plot3 = plot-cluster.sh (SCRIPT TO PLOT ALL ARRAYS OF EVENT, FOUND IN SKELETON) rerun= rerun_sum.py (SCRIPT TO REWRITE DURATION OF EVENT FOR SUMMARY PLOT) plot4 = platebound.gmt (GMT FILE NEEDED BY PLOTSCRIPT TO PLOT PLATEBOUNDERIES IN MAP) networks=r0 (COMMA SEPERATED LIST OF STATIONARRAYS YOU WANT TO USE FOR PROCESSING) r0=BK.HUMO.00.BHZ|BK.WDC.00.BHZ|CC.ASBU..BHZ|CC.CIHL..BHZ (EXAMPLE LIST OF ARRAYDEFINITION) R1= GR.*.BHZ| BK.WDC.*.BHZ (EXAMPLE LIST OF ARRAYDEFINITION) beam = delaysum (SWITCH VARIABLE TO DECIDE WHICH BEAMFORMING METHOD YOU WANT TO USE, OPTIONS: DELAYSUM OR CAPON (IMPLEMENTED BUT NOT WORKING CORRECTLY)) filterswitch=2 (SWITCH VARIABLE TO DECIDE WHICH FILTER TO USE IN PROCESSING OPTIONS: 1 BANDPASS, 2 LOWPASS, 3 HIGHPASS) #bp butterworth flo = 0.4 (low cut corner frequency) fhi = 3 ( high cut corner frequency) ns = 3 ( number of filter sections) zph = false (TRUE -> zero phase filter) #lowpass butterworth l_fc = 1.5 (low cut corner frequency) l_ns = 4 ( number of filter sections) l_zph = false (TRUE -> zero phase filter) #highpass butterworth h_fc = 2 (low cut corner frequency) h_ns = 4 ( number of filter sections) h_zph = false ( TRUE -> zero phase filter) UTILITY COMMANDS: PYTHON ARRAYTOOL.PY LIST: - Lists all already created events (CONFIG AND ORIG FILE MUST EXIST) (OPTIONAL, JUST TO SEE WHICH EVENTS ARE AVAILABLE TO PROCESS)