def runR_each_solo(start_buff=980, end_buff=1180, min_dist=0, max_dist=180, freq_min=1, freq_max=3, slow_delta=0.0025, start_beam=0, end_beam=0, dphase='PKiKP', do_decimate=0, event_no=0): import os os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/GitHub/Array_codes') #%% Import functions from pro3b_sort_plot_singlet import pro3singlet from pro3a_sort_plot_pair import pro3pair from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_plot_singlet import pro6stacked_singlet from pro6_plot_pair import pro6stacked_pair from pro7a_plot_envstack import pro7plotstack from pro7b_plot_stack import pro7plotstack2 from pro7b_dec import pro7dec import matplotlib.pyplot as plt #%% Common parameters ev_directory = '/Users/vidale/Documents/PyCode/EvLocs' os.chdir(ev_directory) eq_file = 'event' + str(event_no) + '.txt' ARRAY = 1 # 0 Japan, 1 LASA, 2 China freq_min = 1 freq_max = 3 rel_time = 1 # phase alignment details # rel_time == 0 window in absolute time after origin time # rel_time == 1 each window has a shift proportional to (dist - ref_dist) at phase slowness at ref_dist # rel_time == 2 each window has a distinct phase-chose shift, but time offset is common to all stations # rel_time == 3 each station has an individual, chosen-phase shift, phase arrival set to common time # rel_time == 4 use same window around chosen phase for all stations, using ref distance ref_loc = 0 # 0 select stations by distance from epicenter, 1 select stations by distance from ref location ref_rad = 0.5 # radius of stations around ref_loc chosen ref_lat = 36 ref_lon = 138 NS = 1 # 0 plot slowness R-T, 1 plot slowness N-S auto_dist = 1 # automatically plot only real distance range min_dist = 0 max_dist = 180 slowR_lo = -0.1 slowR_hi = 0.1 slowT_lo = -0.1 slowT_hi = 0.1 slow_delta = 0.002 slowR_lo_1D = -0.15 slowR_hi_1D = 0.15 slow_delta_1D = 0.001 decimate_fac = 10 simple_taper = 1 snaptime = -0.5 freq_corr = 1.2 stat_corr = 1 corr_threshold = 0.6 skip_SNR = 1 qual_threshold = 1.5 # dphase = 'PcP' dphase2 = 'PP' dphase3 = 'PcP' dphase4 = 'sP' #%% Singlets # get data from Japan #os.chdir('/Users/vidale/Documents/PyCode/Hinet/Reps/Aleutians/Pair1') #pro1get(eq_file) # decimate, in 100 sps, out 10 sps #pro2_decimate(eq_file, decimate_fac = decimate_fac) pro3singlet(ARRAY=ARRAY, stat_corr=stat_corr, eq_file=eq_file, simple_taper=simple_taper, rel_time=rel_time, start_buff=start_buff, end_buff=end_buff, plot_scale_fac=0.1, skip_SNR=skip_SNR, dphase=dphase, dphase2=dphase2, dphase3=dphase3, dphase4=dphase4, freq_min=freq_min, freq_max=freq_max, min_dist=min_dist, max_dist=max_dist, auto_dist=auto_dist, qual_threshold=qual_threshold, corr_threshold=corr_threshold, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, ref_rad=ref_rad, fig_index=102, JST=0, event_no=event_no, do_decimate=do_decimate) pro5stack(ARRAY=ARRAY, eq_file=eq_file, plot_scale_fac=0.05, event_no=event_no, slowR_lo=slowR_lo_1D, slowR_hi=slowR_hi_1D, slow_delta=slow_delta_1D, start_buff=start_buff, end_buff=end_buff, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, log_plot=0, envelope=1, plot_dyn_range=50, norm=1, global_norm_plot=1, color_plot=1, fig_index=302) #%% --2D stacks pro5stack2d(eq_file=eq_file, plot_scale_fac=0.05, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, ARRAY=ARRAY, decimate_fac=decimate_fac, NS=NS) #%% --Compare pair of 2D stack results pro6stacked_singlet(eq_file=eq_file, plot_scale_fac=0.003, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, R_slow_plot=0, T_slow_plot=0, dphase=dphase, fig_index=301, plot_dyn_range=100, ARRAY=ARRAY, event_no=event_no, start_beam=start_beam, end_beam=end_beam) #%% --2D envelop stack results for individual events #pro7plotstack(eq_file = eq_file, plot_scale_fac = 0.05, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # start_buff = start_buff, end_buff = end_buff, skip_T = 1, skip_R = 0, # zoom = 0, ZslowR_lo = -0.03, ZslowR_hi = 0.03, ZslowT_lo = -0.03, ZslowT_hi = 0.03, Zstart_buff = 0, Zend_buff = 200, # fig_index = 401, plot_dyn_range = 50, snaptime = snaptime, snaps=1, ARRAY = ARRAY) code_directory = '/Users/vidale/Documents/GitHub/Array_codes' os.chdir(code_directory)
def run_mantle_one(eq_num='1', start_time=0, wind_len=100, ref_phase='PKiKP', slow_limit=0.04, slow_delta=0.0025, wind_buff=50): import os import matplotlib.pyplot as plt #%% close plots plt.close('all') #%% Import functions from pro3b_sort_plot_singlet import pro3singlet from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_singlet import pro6_singlet from pro7_singlet import pro7_singlet do_3a = True # single event do_5a = True # stack do_6a = True # treats single events, no time shifts calculated or plotted do_7a = True # eq_num = '12' # singlet #%% Common parameters ref_loc = True # if true, use ref_rad + distance to filter station distance # if false, use earthquake distance to filter station distance ref_rad = 0.4 # radius of stations around the array center included ARRAY = 1 auto_dist = True min_dist = 0 max_dist = 180 # Window zoom = True # to restrict time range and slowness range in pro7_pair_scan Zstart_buff = start_time wind_buff = wind_buff wind_len = wind_len Zend_buff = Zstart_buff + wind_len start_buff = Zstart_buff - wind_buff end_buff = Zstart_buff + wind_len + wind_buff # HF freq_min = 0.5 freq_max = 1.5 # Pro5 stacking stat_corr = 1 decimate_fac = 5 # set for pro5stack2d for single event envelopes, set to 0 for other codes simple_taper = 1 max_taper_length = 5 # taper is minimum of taper_frac (0.05) and this number of seconds skip_SNR = 1 # ref_phase = 'PKiKP' slowR_lo = -slow_limit slowR_hi = slow_limit slowT_lo = -slow_limit slowT_hi = slow_limit # slow_delta = 0.005 NS = False # True for N-S co=ords, False for R-T # Pro5 1D plot options slowR_lo_1D = -0.04 slowR_hi_1D = 0.1 slow_delta_1D = 0.001 # Pro6 decimation cc_delta = 0.1 # temporal frequency of output (s) # Pro 7 range selection options ZslowR_lo = -slow_limit ZslowR_hi = slow_limit ZslowT_lo = -slow_limit ZslowT_hi = slow_limit start_beam = 0 # Limit time window for summary slowness beam in beam sums end_beam = 0 # better be within Zstart and Zend, if zoom is set min_amp = 0.0 # threshold amp to use in stack # Pro 7 auto_slice == True options auto_slice = False # slices span wide range of R and T slownesses two_slice_plots = True # makes R-T pair and snap through time span beam_sums = True # sum amp over time wiggly_plots = False # shows wiggly plots # Pro7 auto-plot options nR_plots = 2 # number of plots along the radial axis, makes (2 x nR_plots - 1) total nT_plots = 2 # number of plots along the transv axis slow_incr = 0.01 # increment at which amp and tdiff are plotted # Pro7 two_slice and snap options R_slow_plot = 0.012 T_slow_plot = 0.00 snaptime = 0 # relative to start_buff snaps = 0 snap_depth = 5 # time window over which snap is integrated (s) # Pro 7 more plotting options do_T = True # present T plots do_R = True # present R plots log_plot = True wig_scale_fac = 0.5 log_plot_range = 2.0 plot_scale_fac = 1 #%% Individual event #%% -- Cull seismic section event if do_3a == True: pro3singlet(ARRAY=ARRAY, stat_corr=stat_corr, eq_num=eq_num, max_taper_length=max_taper_length, simple_taper=simple_taper, rel_time=0, start_buff=start_buff, end_buff=end_buff, plot_scale_fac=0.1, skip_SNR=1, dphase=ref_phase, dphase2='SKKP', dphase3='PKPPcP', dphase4='pPKIKKIKP', freq_min=freq_min, freq_max=freq_max, min_dist=min_dist, max_dist=max_dist, ref_loc=ref_loc, ref_rad=ref_rad, fig_index=101) #%% -- 1D stack # if do_5 == True: # pro5stack(ARRAY = ARRAY, eq_num = eq_num, plot_scale_fac = 0.05, # slowR_lo = slowR_lo_1D, slowR_hi = slowR_hi_1D, slow_delta = slow_delta_1D, # start_buff = start_buff, end_buff = end_buff, # log_plot = 0, envelope = 1, plot_dyn_range = 50, # norm = 1, global_norm_plot = 1, color_plot = 1, fig_index = 301) #%% -- 2D stack if do_5a == True: pro5stack2d(eq_num=eq_num, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1, ARRAY=ARRAY, decimate_fac=decimate_fac, NS=NS) #%% just amp, no time shifts estimates if do_6a == True: pro6_singlet(eq_num=eq_num, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, cc_delta=cc_delta) #%% -- Make a variety of plots if do_7a == True: pro7_singlet(eq_num=eq_num, wig_scale_fac=wig_scale_fac, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, zoom=zoom, ZslowR_lo=ZslowR_lo, ZslowR_hi=ZslowR_hi, ZslowT_lo=ZslowT_lo, ZslowT_hi=ZslowT_hi, Zstart_buff=Zstart_buff, Zend_buff=Zend_buff, start_buff=start_buff, end_buff=end_buff, do_T=do_T, do_R=do_R, min_amp=min_amp, ref_phase=ref_phase, R_slow_plot=R_slow_plot, T_slow_plot=T_slow_plot, snaptime=snaptime, snaps=snaps, snap_depth=snap_depth, nR_plots=nR_plots, nT_plots=nT_plots, slow_incr=slow_incr, NS=NS, ARRAY=ARRAY, auto_slice=auto_slice, two_slice_plots=two_slice_plots, beam_sums=beam_sums, wiggly_plots=wiggly_plots, log_plot=log_plot, log_plot_range=log_plot_range, start_beam=start_beam, end_beam=end_beam)
dphase2='PKKP', dphase3='PP', dphase4='S', min_dist=min_dist, max_dist=max_dist, ref_loc=ref_loc, ref_rad=ref_rad) #%% -- 2D stacks if do_5 == True: pro5stack2d(eq_num=eq_num1, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1, ARRAY=ARRAY, decimate_fac=decimate_fac, NS=NS) pro5stack2d(eq_num=eq_num2, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1,
def run_get_shift_C(start_buff=-50, end_buff=200, event_no=1, min_dist=0, max_dist=180, freq_min=1, freq_max=3, slow_delta=0.0025, start_beam_align=0, end_beam_align=0, start_buff_align=0, end_buff_align=0, start_beam_stack=0, end_beam_stack=0, start_buff_stack=0, end_buff_stack=0, dphase='PKiKP'): import os os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/GitHub/Array_codes') #%% Import functions from pro2_dec import pro2decimate from pro3b_sort_plot_singlet import pro3singlet from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_plot_singlet import pro6stacked_singlet from pro7a_plot_envstack import pro7plotstack from pro7b_plot_stack import pro7plotstack2 from pro7b_dec import pro7dec from pro4_get_shifts import pro4statics import matplotlib.pyplot as plt #%% Parameters - basic ev_directory = '/Users/vidale/Documents/Research/IC/EvLocs' os.chdir(ev_directory) eq_file = 'event' + str(event_no) + '.txt' ARRAY = 2 ref_loc = 1 # 0 select stations by distance from epicenter, 1 select stations by distance from ref location ref_rad = 2 # radius of stations around ref_loc chosen ref_lat = 38 ref_lon = 104.5 auto_dist = 1 # automatically plot only real distance range # min_dist = 12 # max_dist = 25 # dphase = 'PKiKP' dphase2 = 'PcP' dphase3 = 'PKiKP' dphase4 = 'pPcP' # decimate_fac = 5 # decimate, in 100 sps, out 20 sps # pro2decimate(eq_file, decimate_fac = decimate_fac) #%% Parameters for static calculation freq_min = 0.7 freq_max = 3.0 start_beam = 4 # times before pick are now normal, negative end_beam = 2 corr_threshold = -0.4 # really std dev of residual or something similar max_time_shift = 0.75 skip_SNR = 1 qual_threshold = 3 simple_taper = 1 #%% PKiKP alignment to get time shifts #%% pro3singlet -- selects data for statics pro3singlet(ARRAY=ARRAY, stat_corr=1, eq_file=eq_file, simple_taper=1, rel_time=3, start_buff=start_buff_align, end_buff=end_buff_align, start_beam=start_beam_align, end_beam=end_beam_align, plot_scale_fac=0.03, skip_SNR=skip_SNR, event_no=event_no, dphase=dphase, dphase2=dphase2, dphase3=dphase3, dphase4=dphase4, freq_min=freq_min, freq_max=freq_max, min_dist=min_dist, max_dist=max_dist, auto_dist=auto_dist, qual_threshold=qual_threshold, corr_threshold=corr_threshold, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, ref_rad=ref_rad, fig_index=102, JST=0) #%% pro4statics -- measures statics pro4statics(eq_file, use_ref_trace=0, ref_trace='N.SUY', dphase=dphase, dphase2=dphase2, dphase3=dphase3, dphase4=dphase4, start_beam=start_beam_align, end_beam=end_beam_align, start_buff=start_buff_align, end_buff=end_buff_align, plot_scale_fac=0.05, event_no=event_no, qual_threshold=0, corr_threshold=corr_threshold, max_time_shift=max_time_shift, min_dist=min_dist, max_dist=max_dist, ARRAY=ARRAY) #%% PKiKP stacking slowR_lo = -0.03 slowR_hi = 0.03 slowT_lo = -0.03 slowT_hi = 0.03 slow_delta = 0.001 NS = 1 # 0 plot slowness R-T, 1 plot slowness N-S plot_scale_fac = 0.03 log_plot = 0 snaptime = 0 snaps = 1 stat_corr = 1 fine_stats = 1 slowR_lo_1D = -0.025 slowR_hi_1D = 0.025 slow_delta_1D = 0.0001 dec_fac = 10 take_median = 0 rel_time = 1 # phase alignment details # rel_time == 0 window in absolute time after origin time # rel_time == 1 each window has a shift proportional to (dist - ref_dist) at phase slowness at ref_dist # rel_time == 2 each window has a distinct phase-chose shift, but time offset is common to all stations # rel_time == 3 each station has an individual, chosen-phase shift, phase arrival set to common time # rel_time == 4 use same window around chosen phase for all stations, using ref distance #%% pro5stack -- 1D stack pro5stack(ARRAY=ARRAY, eq_file=eq_file, plot_scale_fac=0.05, slowR_lo=slowR_lo_1D, slowR_hi=slowR_hi_1D, slow_delta=slow_delta_1D, start_buff=start_buff_align, end_buff=end_buff_align, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, log_plot=log_plot, envelope=1, plot_dyn_range=50, event_no=event_no, norm=1, global_norm_plot=1, color_plot=1, fig_index=302) #%% pro5stack2d -- 2D stacks, generates no plots pro5stack2d(eq_file=eq_file, plot_scale_fac=0.05, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff_align, end_buff=end_buff_align, norm=1, ref_loc=ref_loc, ref_lat=ref_lat, ref_lon=ref_lon, ARRAY=ARRAY, decimate_fac=dec_fac, NS=NS) #%% pro6stacked_singlet -- summed beams over 2D stacks pro6stacked_singlet(eq_file=eq_file, plot_scale_fac=0.003, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, R_slow_plot=0, T_slow_plot=0, dphase=dphase, fig_index=301, plot_dyn_range=100, ARRAY=ARRAY, take_median=take_median, log_plot=log_plot, event_no=event_no, start_beam=start_beam_align, end_beam=end_beam_align, start_buff=start_buff_align, end_buff=end_buff_align) #%% ICS #%% Parameters for filtering, sorting, and beaming freq_min = 1 freq_max = 4.0 #%% pro3singlet -- selects data # pro3singlet(ARRAY = ARRAY, stat_corr = stat_corr, fine_stats = fine_stats, # eq_file = eq_file, simple_taper = simple_taper, rel_time = rel_time, # start_buff = start_buff_stack, end_buff = end_buff_stack, # start_beam = start_beam_stack, end_beam = end_beam_stack, # plot_scale_fac = plot_scale_fac, skip_SNR = skip_SNR, event_no = event_no, # dphase = dphase, dphase2 = dphase2, dphase3 = dphase3, dphase4 = dphase4, # freq_min = freq_min, freq_max = freq_max, # min_dist = min_dist, max_dist = max_dist, auto_dist = auto_dist, # qual_threshold = qual_threshold, corr_threshold = corr_threshold, # ref_loc = ref_loc, ref_lat = ref_lat, ref_lon = ref_lon, ref_rad = ref_rad, # fig_index = 102, JST = 0) #%% pro5stack -- 1D stack # pro5stack(ARRAY = ARRAY, eq_file = eq_file, plot_scale_fac = 0.05, # slowR_lo = slowR_lo_1D, slowR_hi = slowR_hi_1D, slow_delta = slow_delta_1D, # start_buff = start_buff_stack, end_buff = end_buff_stack, # ref_loc = ref_loc, ref_lat = ref_lat, ref_lon = ref_lon, # log_plot = log_plot, envelope = 1, plot_dyn_range = 50, event_no = event_no, # norm = 1, global_norm_plot = 1, color_plot = 1, fig_index = 302) #%% pro5stack2d -- 2D stacks, generates no plots # pro5stack2d(eq_file = eq_file, plot_scale_fac = 0.05, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # start_buff = start_buff_stack, end_buff = end_buff_stack, # norm = 1, # ref_loc = ref_loc, ref_lat = ref_lat, ref_lon = ref_lon, ARRAY = ARRAY, decimate_fac = dec_fac, NS = NS) #%% pro6stacked_singlet -- summed beams over 2D stacks # pro6stacked_singlet(eq_file = eq_file, plot_scale_fac = 0.003, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # R_slow_plot = 0, T_slow_plot = 0, dphase = dphase, # fig_index = 301, plot_dyn_range = 100, ARRAY = ARRAY, take_median = take_median, log_plot = log_plot, # event_no = event_no, # start_buff = start_buff_stack, end_buff = end_buff_stack, # start_beam = start_beam_stack, end_beam = end_beam_stack) #%% pro7plotstack -- snapshots of 2D stack results for individual events # pro7plotstack(eq_file = eq_file, plot_scale_fac = 0.05, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # start_buff = start_buff_stack, end_buff = end_buff_stack, # skip_T = 0, skip_R = 0, # zoom = 0, ZslowR_lo = -0.03, ZslowR_hi = 0.03, ZslowT_lo = -0.03, ZslowT_hi = 0.03, Zstart_buff = 0, Zend_buff = 120, # fig_index = 401, plot_dyn_range = 50, snaptime = snaptime, snaps=snaps, ARRAY = ARRAY)
dphase=ref_phase, dphase2='PKKP', dphase3='PP', dphase4='S', min_dist=min_dist, max_dist=max_dist, ref_loc=0) ##%% --2D stacks pro5stack2d(eq_file=eq_file1, plot_scale_fac=0.2, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1, global_norm_plot=1, ARRAY=ARRAY, decimate_fac=decimate_fac, NS=0) #pro5stack2d(eq_file = eq_file2, plot_scale_fac = 0.2, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # start_buff = start_buff, end_buff = end_buff, # norm = 1, global_norm_plot = 1, # ARRAY = ARRAY, decimate_fac = decimate_fac, NS = 0) ##%% --Compare pair of 2D stack results pro6stacked_seis(eq_file1=eq_file1,
def run_each(start_buff=980, end_buff=1180, event_no=35, min_dist=0, max_dist=180, freq_min=1, freq_max=3, slow_delta=0.001): import os os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/GitHub/Array_codes') #%% Import functions from pro3b_sort_plot_singlet import pro3singlet from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_plot_stacked_seis import pro6stacked_seis #from junk import pro7plotstack from pro7a_plot_envstack import pro7plotstack from pro7b_plot_stack import pro7plotstack2 from pro7b_dec import pro7dec os.chdir('/Users/vidale/Documents/PyCode/LASA') #%% Common parameters ARRAY = 1 eq_file = 'event' + str(event_no) + '.txt' #eq_file = 'event35.txt' # window #start_buff = 980 #end_buff = 1180 slowR_lo = -0.005 slowR_hi = 0.025 slowT_lo = -0.015 slowT_hi = 0.015 # slow_delta = 0.0025 dphase = 'PKiKP' dphase2 = 'PP' dphase3 = 'PKIKKIKP' dphase4 = 'PKIKPPKIKP' # Full array min_dist = min_dist max_dist = max_dist ref_loc = 0 # all stations #ref_loc = 1 # only rings A-D freq_min = freq_min freq_max = freq_max slowR_lo_1D = -0.04 slowR_hi_1D = 0.1 slow_delta_1D = 0.005 decimate_fac = 5 simple_taper = 1 skip_SNR = 1 snaptime = 995.5 snaps = 0 freq_corr = 1.2 stat_corr = 1 #%% --Cull seismic section # plot lines are blue, orange, yellow, purple for phases 1 through 4 pro3singlet(ARRAY=ARRAY, stat_corr=stat_corr, eq_file=eq_file, simple_taper=simple_taper, rel_time=1, rel_slow=1, start_buff=start_buff, end_buff=end_buff, plot_scale_fac=0.1, skip_SNR=1, dphase=dphase, dphase2=dphase2, dphase3=dphase3, dphase4=dphase4, freq_min=freq_min, freq_max=freq_max, min_dist=min_dist, max_dist=max_dist, ref_loc=ref_loc, fig_index=102) #%% --1D stack pro5stack(ARRAY=ARRAY, eq_file=eq_file, plot_scale_fac=0.05, slowR_lo=slowR_lo_1D, slowR_hi=slowR_hi_1D, slow_delta=slow_delta_1D, start_buff=start_buff, end_buff=end_buff, log_plot=0, envelope=1, plot_dyn_range=50, norm=1, global_norm_plot=1, color_plot=1, fig_index=302) ##%% --2D stack pro5stack2d(eq_file=eq_file, plot_scale_fac=0.05, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, norm=1, global_norm_plot=1, ARRAY=ARRAY, decimate_fac=decimate_fac, NS=0) #%% --Compare 2D stack results with themselves pro6stacked_seis(eq_file1=eq_file, eq_file2=eq_file, plot_scale_fac=0.003, slowR_lo=slowR_lo, slowR_hi=slowR_hi, slowT_lo=slowT_lo, slowT_hi=slowT_hi, slow_delta=slow_delta, start_buff=start_buff, end_buff=end_buff, freq_corr=freq_corr, ref_phase=dphase, fig_index=301, plot_dyn_range=100, ARRAY=ARRAY)
def runpair_getconvo(Tstart, Tend, eq_num1, eq_num2, con78 = False): import os import matplotlib.pyplot as plt #%% close plots plt.close('all') os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/GitHub/Array_codes') #%% Import functions from pro2_con_stfs import pro2_convstf from pro2_plot_conv import pro2_test from pro3a_sort_plot_pair import pro3pair from pro3b_sort_plot_singlet import pro3singlet from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_pair_cc import pro6_cc_pair from pro6_singlet import pro6_singlet from pro7_pair_scan import pro7_pair_scan from pro7_singlet import pro7_singlet #%% Workflow selection do_3 = True # pair of events do_5 = True do_1D = False do_6 = False do_7 = False eq_num1 = str(eq_num1) # pair eq_num2 = str(eq_num2) do_3a = False # single event do_5a = False # stack do_6a = False # treats single events, no time shifts calculated or plotted do_7a = False eq_num = '7' # singlet #%% Common parameters ARRAY = 1 no_plots = True auto_dist = True min_dist = 0 max_dist = 180 # Window start_buff = Tstart end_buff = Tend zoom = True # to restrict time range and slowness range in pro7_pair_scan Zstart_buff = Tstart Zend_buff = Tend # HF freq_min = 1 freq_max = 3 # Pro5 stacking stat_corr = 1 decimate_fac = 5 # set for pro5stack2d for single event envelopes, set to 0 for other codes simple_taper = 1 max_taper_length = 5 # taper is minimum of taper_frac (0.05) and this number of seconds skip_SNR = 1 ref_phase = 'PKiKP' slowR_lo = 0.008 slowR_hi = 0.008 slowT_lo = 0.000 slowT_hi = 0.000 slow_delta = 0.001 NS = False # 1 for N-S co=ords, 0 for R-T # Pro5 1D plot options slowR_lo_1D = -0.1 slowR_hi_1D = 0.1 slow_delta_1D = 0.001 # Pro6 options: mostly time shift measurement cc_twin = 2 # time window for cross-correlation (s) cc_len = 0.2 # max time window shift to compute CC (fraction of whole time window) cc_delta = 0.4 # temporal frequency of cc (s) cc_interp1d = 5 # interpolation factor cc_thres = 0.5 # threshold beam correlation to use in stack min_amp = 0.2 # threshold amp to use in stack # Pro 7 range selection options ZslowR_lo = 0.008 ZslowR_hi = 0.008 ZslowT_lo = 0.000 ZslowT_hi = 0.000 start_beam = 0 # Limit time window for summary slowness beam in beam sums end_beam = 0 # better be within Zstart and Zend, if zoom is set # Pro 7 auto_slice == True options auto_slice = False # slices span wide range of R and T slownesses two_slice_plots = False # makes R-T pair and snap through time span beam_sums = False # sums tdiff and amp over time wiggly_plots = False # shows wiggly plots # Pro7 auto-plot options nR_plots = 2 # number of plots along the radial axis, makes (2 x nR_plots - 1) total nT_plots = 2 # number of plots along the transv axis slow_incr = 0.01 # increment at which amp and tdiff are plotted # Pro7 two_slice and snap options R_slow_plot = 0.008 T_slow_plot = 0.000 snaptime = 0 # relative to start_buff snaps = 0 snap_depth = 30 # time window over which snap is integrated (s) # Pro 7 more plotting options do_T = False # present T plots do_R = True # present R plots no_tdiff_plot = False # also to speed plots of only amplitude, only applies to auto_slice turn_off_black = False # controls whether wiggle plot also has time shift plotted log_plot = True tdiff_clip = 0.5 wig_scale_fac = 0.1 tdiff_scale_fac = 3 log_plot_range = 1.5 plot_scale_fac = 1 #%% Comparing events #%% -- Cull seismic section for common stations if do_3 == True: pro3pair(ARRAY = ARRAY, eq_num1 = eq_num1, eq_num2 = eq_num2, skip_SNR = skip_SNR, rel_time = 0, start_buff = start_buff, end_buff = end_buff, freq_min = freq_min, freq_max = freq_max, no_plots = no_plots, max_taper_length = max_taper_length, simple_taper = simple_taper, plot_scale_fac = 0.025, stat_corr = stat_corr, taper_frac = 0.25, dphase = ref_phase, dphase2 = 'PKKP', dphase3 = 'PP', dphase4 = 'S', min_dist = min_dist, max_dist = max_dist, auto_dist = auto_dist, ref_loc = 0) if con78 == True: # Cross_convolve time functions only set up for Amchitka events 7 & 8 conv_file1 = '/Users/vidale/Documents/GitHub/Array_codes/Files/HD1971-11-06_stf.mseed' conv_file2 = '/Users/vidale/Documents/GitHub/Array_codes/Files/HD1969-10-02_stf.mseed' pro2_convstf(eq_num = eq_num1, conv_file = conv_file1) pro2_convstf(eq_num = eq_num2, conv_file = conv_file2) pro2_test(conv_file1 = conv_file1, conv_file2 = conv_file2) #%% -- 2D stacks if do_5 == True: pro5stack2d(eq_num = eq_num1, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, norm = 1, ARRAY = ARRAY, decimate_fac = decimate_fac, NS = NS) pro5stack2d(eq_num = eq_num2, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, norm = 1, ARRAY = ARRAY, decimate_fac = decimate_fac, NS = NS) #%% -- Compare pair of 2D stack results to find shift, amp, amp ratio, uses cc rather than instant phase if do_6 == True: pro6_cc_pair(eq_num1 = eq_num1, eq_num2 = eq_num2, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, cc_twin = cc_twin, cc_len = cc_len, cc_interp1d = cc_interp1d, cc_delta = cc_delta, cc_thres = cc_thres) #%% -- Make a variety of plots if do_7 == True: pro7_pair_scan(eq_num1 = eq_num1, eq_num2 = eq_num2, wig_scale_fac = wig_scale_fac, tdiff_scale_fac = tdiff_scale_fac, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, zoom = zoom, ZslowR_lo = ZslowR_lo, ZslowR_hi = ZslowR_hi, ZslowT_lo = ZslowT_lo, ZslowT_hi = ZslowT_hi, Zstart_buff = Zstart_buff, Zend_buff = Zend_buff, start_buff = start_buff, end_buff = end_buff, do_T = do_T, do_R = do_R, tdiff_clip = tdiff_clip, min_amp = min_amp, ref_phase = ref_phase, cc_thres = cc_thres, turn_off_black = turn_off_black, R_slow_plot = R_slow_plot, T_slow_plot = T_slow_plot, no_plots = no_plots, snaptime = snaptime, snaps = snaps, snap_depth = snap_depth, nR_plots = nR_plots, nT_plots = nT_plots, slow_incr = slow_incr, NS = NS, ARRAY = ARRAY, auto_slice = auto_slice, two_slice_plots = two_slice_plots, beam_sums = beam_sums, wiggly_plots = wiggly_plots, log_plot = log_plot, log_plot_range = log_plot_range, no_tdiff_plot = no_tdiff_plot, start_beam = start_beam, end_beam = end_beam) #%% Individual event #%% -- Cull seismic section event if do_3a == True: pro3singlet(ARRAY = ARRAY, stat_corr = stat_corr, eq_num = eq_num, max_taper_length = max_taper_length, simple_taper = simple_taper, rel_time = 0, start_buff = start_buff, end_buff = end_buff, plot_scale_fac = 0.1, skip_SNR = 1, dphase = ref_phase, dphase2 = 'SKKP', dphase3 = 'PKPPcP', dphase4 = 'pPKIKKIKP', freq_min = freq_min, freq_max = freq_max, min_dist = min_dist, max_dist = max_dist, ref_loc = 0, fig_index = 101) #%% -- 1D stack if do_1D == True: pro5stack(ARRAY = ARRAY, eq_num = eq_num, plot_scale_fac = 0.05, slowR_lo = slowR_lo_1D, slowR_hi = slowR_hi_1D, slow_delta = slow_delta_1D, start_buff = start_buff, end_buff = end_buff, log_plot = 1, envelope = 1, plot_dyn_range = 50, norm = 1, global_norm_plot = 1, color_plot = 1, fig_index = 301) #%% -- 2D stack if do_5a == True: pro5stack2d(eq_num = eq_num, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, norm = 1, ARRAY = ARRAY, decimate_fac = decimate_fac, NS = NS) #%% just amp, no time shifts estimates if do_6a == True: pro6_singlet(eq_num = eq_num, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, cc_delta = cc_delta) #%% -- Make a variety of plots if do_7a == True: pro7_singlet(eq_num = eq_num, wig_scale_fac = wig_scale_fac, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, zoom = zoom, ZslowR_lo = ZslowR_lo, ZslowR_hi = ZslowR_hi, ZslowT_lo = ZslowT_lo, ZslowT_hi = ZslowT_hi, Zstart_buff = Zstart_buff, Zend_buff = Zend_buff, start_buff = start_buff, end_buff = end_buff, do_T = do_T, do_R = do_R, min_amp = min_amp, ref_phase = ref_phase, turn_off_black = turn_off_black, R_slow_plot = R_slow_plot, T_slow_plot = T_slow_plot, snaptime = snaptime, snaps = snaps, snap_depth = snap_depth, nR_plots = nR_plots, nT_plots = nT_plots, slow_incr = slow_incr, NS = NS, ARRAY = ARRAY, auto_slice = auto_slice, two_slice_plots = two_slice_plots, beam_sums = beam_sums, wiggly_plots = wiggly_plots, log_plot = log_plot, log_plot_range = log_plot_range, start_beam = start_beam, end_beam = end_beam)
# this program tapers, filters, selects range and SNR # plots against traveltime curves, either raw or reduced against traveltimes # This programs deals with a single event. # John Vidale 2/2019 import os os.chdir('/Users/vidale/Documents/GitHub/Hinet-codes') from pro5b_stack2d import pro5stack2d os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/PyCode/LASA') pro5stack2d(eq_file='event1.txt', plot_scale_fac=0.05, slowR_lo=-0.05, slowR_hi=0.05, slowT_lo=-0.05, slowT_hi=0.05, slow_delta=0.005, start_buff=10, end_buff=250, norm=1, global_norm_plot=1, ARRAY=1, decimate_fac=5) #pro5stack2d(eq_file = 'event1.txt', plot_scale_fac = 0.05, # slowR_lo = -0.05, slowR_hi = 0.05, slowT_lo = -0.05, slowT_hi = 0.05, # slow_delta = 0.01, start_buff = 10, end_buff = 250, # envelope = 1, norm = 1, global_norm_plot = 1, # ARRAY=1, fig_index = 301, decimate_fac = 5)
def run_each_L_ICS(start_buff = 20, end_buff = 100, event_no = 0, min_dist = 0, max_dist = 180, freq_min = 1, freq_max = 3, slow_delta = 0.001): import os os.environ['PATH'] += os.pathsep + '/usr/local/bin' os.chdir('/Users/vidale/Documents/GitHub/Array_codes') #%% Import functions from pro3b_sort_plot_singlet import pro3singlet from pro5a_stack import pro5stack from pro5b_stack2d import pro5stack2d from pro6_plot_singlet import pro6stacked_singlet #from junk import pro7plotstack from pro7a_plot_envstack import pro7plotstack from pro7b_plot_stack import pro7plotstack2 from pro7b_dec import pro7dec import matplotlib.pyplot as plt os.chdir('/Users/vidale/Documents/PyCode/LASA') #%% Common parameters ARRAY = 1 eq_file = 'event' + str(event_no) +'.txt' #eq_file = 'event35.txt' # window #start_buff = 980 #end_buff = 1180 NS = 1 slowR_lo = -0.04 slowR_hi = 0.04 slowT_lo = -0.04 slowT_hi = 0.04 # slow_delta = 0.0025 dphase = 'PKiKP' dphase2 = 'PP' dphase3 = 'PKIKKIKP' dphase4 = 'PKIKPPKIKP' # Full array min_dist = min_dist max_dist = max_dist auto_dist = 1 start_beam = 0 end_beam = 0 ref_loc = 0 # all stations #ref_loc = 1 # only rings A-D freq_min = freq_min freq_max = freq_max slowR_lo_1D = -0.04 slowR_hi_1D = 0.1 slow_delta_1D = 0.005 decimate_fac = 5 simple_taper = 1 skip_SNR = 1 snaptime = 995.5 snaps = 0 freq_corr = 1.2 stat_corr = 1 rel_time = 1 # set 0 time to phase arrival, otherwise time is relative to origin # rel_slow = 1 # preserves 0 slowness, otherwise 0 is set to phase slowness #%% --Cull seismic section # plot lines are blue, orange, yellow, purple for phases 1 through 4 pro3singlet(ARRAY = ARRAY, stat_corr = stat_corr, eq_file = eq_file, simple_taper = simple_taper, rel_time = 1, start_buff = start_buff, end_buff = end_buff, plot_scale_fac = 0.1, skip_SNR = 1, dphase = dphase, dphase2 = dphase2, dphase3 = dphase3, dphase4 = dphase4, freq_min = freq_min, freq_max = freq_max, min_dist = min_dist, max_dist = max_dist, auto_dist = auto_dist, ref_loc = ref_loc, fig_index = 102) #%% --1D stack pro5stack(ARRAY = ARRAY, eq_file = eq_file, plot_scale_fac = 0.05, slowR_lo = slowR_lo_1D, slowR_hi = slowR_hi_1D, slow_delta = slow_delta_1D, start_buff = start_buff, end_buff = end_buff, event_no = event_no, log_plot = 0, envelope = 1, plot_dyn_range = 50, norm = 1, global_norm_plot = 1, color_plot = 1, fig_index = 302) ##%% --2D stack pro5stack2d(eq_file = eq_file, plot_scale_fac = 0.05, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, norm = 1, ARRAY = ARRAY, decimate_fac = decimate_fac, NS = NS) #%% --Compare 2D stack results with themselves pro6stacked_singlet(eq_file = eq_file, plot_scale_fac = 0.003, NS = NS, slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, start_buff = start_buff, end_buff = end_buff, R_slow_plot = 0, T_slow_plot = 0, fig_index = 301, plot_dyn_range = 100, ARRAY = ARRAY, start_beam = start_beam, end_beam = end_beam, event_no = event_no) #%% --2D envelope stack # pro7plotstack(eq_file = eq_file, plot_scale_fac = 0.05, # slowR_lo = slowR_lo, slowR_hi = slowR_hi, slowT_lo = slowT_lo, slowT_hi = slowT_hi, slow_delta = slow_delta, # start_buff = start_buff, end_buff = end_buff, skip_T = 0, skip_R = 0, # zoom = 0, ZslowR_lo = -0.03, ZslowR_hi = 0.03, ZslowT_lo = -0.03, ZslowT_hi = 0.03, Zstart_buff = 0, Zend_buff = 200, # fig_index = 402, plot_dyn_range = 50, snaptime = snaptime, snaps=snaps, ARRAY = ARRAY) # plt.close('all') code_directory = '/Users/vidale/Documents/GitHub/Array_codes' os.chdir(code_directory)