def LoadObservations(): # -10.7° S, 34.5° E rf_obs = [ pipeline.RecvFunc(amp=np.array([ 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, -0.103, -0.036, 0.005, -0.015, 0.004, 0.066, 0.078, 0.045, 0.033, 0.034, -0.003, -0.012, -0.005, 0.009, 0.003, 0.003, 0.018, 0.045, 0.022, -0.012, -0.016, -0.018, 0.002, 0.006, -0.018, -0.019, -0.021, -0.043, -0.038, 0.012, -0.009, -0.047, -0.055, -0.032, -0.021, -0.003, -0.008, 0.024, -0.018, -0.036, -0.009, -0.002, -0.018, -0.013, -0.031, 0.020, 0.060, 0.043, 0.031, 0.033, 0.047, 0.021, -0.008, -0.064, -0.089, -0.070, 0.026, 0.014, 0.047, 0.004, 0.017, 0.019, -0.012, -0.010, 0.003, 0.027, 0.040, 0.027, -0.027, -0.061, -0.070, -0.070, -0.024, 0.028, 0.029, -0.004, -0.039, -0.040, -0.007, -0.017, -0.002, -0.012, -0.012, -0.007, -0.002, -0.001, -0.016, -0.020, -0.027, 0.002, -0.009, 0.007, 0.021, 0.007, 0.015, 0.008, 0.015, 0.012, -0.000, 0.004, -0.000, 0.005, 0.004, -0.001, -0.006, -0.005, -0.007, -0.009, -0.008, -0.006, 0.003 ]), std=np.array([ 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 0.072, 0.036, 0.046, 0.044, 0.039, 0.038, 0.016, 0.027, 0.021, 0.021, 0.011, 0.030, 0.010, 0.023, 0.049, 0.036, 0.035, 0.033, 0.025, 0.024, 0.023, 0.027, 0.022, 0.014, 0.030, 0.020, 0.019, 0.044, 0.037, 0.036, 0.027, 0.028, 0.026, 0.024, 0.028, 0.028, 0.033, 0.030, 0.016, 0.033, 0.023, 0.030, 0.032, 0.037, 0.028, 0.039, 0.031, 0.037, 0.031, 0.034, 0.041, 0.038, 0.041, 0.055, 0.044, 0.036, 0.035, 0.040, 0.032, 0.033, 0.031, 0.028, 0.026, 0.029, 0.034, 0.039, 0.035, 0.030, 0.028, 0.034, 0.032, 0.036, 0.030, 0.032, 0.029, 0.030, 0.032, 0.035, 0.030, 0.034, 0.026, 0.022, 0.025, 0.029, 0.029, 0.022, 0.025, 0.031, 0.032, 0.032, 0.033, 0.028, 0.021, 0.031, 0.039, 0.039, 0.037, 0.033, 0.034, 0.032, 0.036, 0.031, 0.020, 0.020, 0.024, 0.022, 0.019, 0.018, 0.017, 0.018, 0.021 ]), dt=0.250, ray_param=0.06147, std_sc=0.5, rf_phase='Ps', weight_by='rf1', filter_corners=[1, 100]), pipeline.RecvFunc(amp=np.array([ -0.023, -0.036, -0.059, -0.072, -0.067, -0.058, -0.056, -0.066, -0.058, -0.056, -0.052, -0.050, -0.070, -0.078, -0.095, -0.114, -0.156, -0.176, -0.184, -0.178, -0.167, -0.150, -0.122, -0.093, -0.069, -0.041, -0.017, 0.001, 0.014, 0.024, 0.030, 0.032, 0.033, 0.032, 0.030, 0.028, 0.029, 0.030, 0.029, 0.028, 0.029, 0.029, 0.030, 0.029, 0.028, 0.030, 0.035, 0.039, 0.039, 0.038, 0.035, 0.032, 0.029, 0.027, 0.024, 0.020, 0.021, 0.024, 0.023, 0.025, 0.024, 0.027, 0.028, 0.026, 0.027, 0.030, 0.031, 0.033, 0.037, 0.035, 0.029, 0.022, 0.011, 0.003, -0.003, -0.004, -0.001, 0.006, 0.015, 0.026, 0.044, 0.056, 0.069, 0.078, 0.080, 0.077, 0.073, 0.067, 0.050, 0.029, 0.006, -0.019, -0.042, -0.062, -0.071, -0.071, -0.067, -0.058, -0.048, -0.034, -0.018, -0.008, 0.019, 0.038, 0.056, 0.074, 0.087, 0.094, 0.094, 0.089, 0.080, 0.062, 0.041, 0.019, -0.001, -0.018, -0.031, -0.035, -0.044, -0.049 ]), std=np.array([ 0.027, 0.031, 0.035, 0.039, 0.043, 0.044, 0.046, 0.045, 0.045, 0.043, 0.041, 0.043, 0.040, 0.039, 0.040, 0.038, 0.038, 0.038, 0.037, 0.036, 0.036, 0.034, 0.032, 0.030, 0.027, 0.024, 0.022, 0.019, 0.017, 0.016, 0.014, 0.014, 0.014, 0.013, 0.012, 0.012, 0.012, 0.011, 0.011, 0.011, 0.012, 0.012, 0.014, 0.018, 0.022, 0.026, 0.032, 0.035, 0.038, 0.040, 0.039, 0.035, 0.031, 0.025, 0.020, 0.017, 0.017, 0.015, 0.013, 0.015, 0.016, 0.017, 0.017, 0.016, 0.014, 0.013, 0.014, 0.013, 0.014, 0.011, 0.012, 0.016, 0.019, 0.022, 0.023, 0.021, 0.019, 0.019, 0.023, 0.034, 0.050, 0.060, 0.071, 0.079, 0.080, 0.077, 0.068, 0.058, 0.044, 0.031, 0.020, 0.020, 0.032, 0.044, 0.056, 0.064, 0.068, 0.068, 0.066, 0.063, 0.060, 0.073, 0.084, 0.089, 0.092, 0.091, 0.084, 0.075, 0.064, 0.051, 0.040, 0.037, 0.038, 0.040, 0.040, 0.040, 0.041, 0.043, 0.047, 0.048 ]), dt=0.250, ray_param=0.11012, std_sc=5, rf_phase='Sp', weight_by='rf1', filter_corners=[4, 100]), ] swd_obs = pipeline.SurfaceWaveDisp(period=np.array([ 9.000, 10.120, 11.570, 13.500, 16.200, 20.250, 25.000, 32.000, 40.000, 50.000, 60.000, 80.000 ]), c=np.array([ 3.0160, 3.0610, 3.1260, 3.2220, 3.3230, 3.4340, 3.6770, 3.7970, 3.8780, 3.9460, 4.0290, 4.0600 ]), std=np.array([ 0.4310, 0.2620, 0.4140, 0.3430, 0.2120, 0.1560, 0.0070, 0.0110, 0.0150, 0.0190, 0.0150, 0.0110 ])) all_lims = pipeline.Limits(vs=(0.5, 5.0), dep=(0, 200), std_rf_sc=(1, 2), lam_rf=(0.05, 0.5), std_swd_sc=(1, 2), crustal_thick=(25, )) vs_in = 'unknown' return (rf_obs, swd_obs, all_lims, vs_in)
def LoadObservations(): # -9.2° S, 34.5° E rf_obs = [ pipeline.RecvFunc( amp = np.array([0.000, 0.000, 0.000, 0.003, -0.033, -0.036, -0.007, 0.019, 0.014, -0.010, -0.021, -0.021, -0.012, 0.003, 0.013, 0.018, 0.025, 0.046, 0.071, 0.077, 0.064, 0.008, -0.017, -0.030, -0.028, -0.035, 0.023, 0.022, 0.008, -0.013, -0.020, -0.023, -0.008, -0.014, -0.026, -0.024, -0.031, -0.029, -0.028, -0.009, -0.015, -0.022, -0.017, -0.010, -0.008, 0.001, 0.014, 0.024, 0.034, 0.019, 0.012, 0.011, 0.011, -0.018, -0.031, 0.000, 0.018, 0.024, 0.013, 0.030, 0.052, 0.037, 0.036, 0.027, 0.036, 0.041, 0.044, 0.055, 0.045, 0.023, 0.034, 0.020, 0.000, -0.008, -0.019, 0.007, -0.006, -0.017, -0.022, -0.019, 0.023, 0.025, 0.029, 0.026, 0.033, 0.003, -0.010, 0.001, 0.036, 0.021, 0.027, 0.005, 0.004, 0.003, -0.022, 0.020, 0.040, 0.015, -0.009, -0.015, -0.008, 0.023, 0.031, 0.071, 0.074, 0.075, 0.045, -0.014, -0.039, -0.031, -0.017, -0.020, -0.011, -0.031, -0.080, -0.092, -0.089, -0.042, -0.010, 0.022 ]), std = np.array([1.000, 1.000, 1.000, 0.007, 0.005, 0.005, 0.011, 0.015, 0.014, 0.010, 0.016, 0.017, 0.023, 0.024, 0.020, 0.023, 0.025, 0.029, 0.029, 0.026, 0.031, 0.031, 0.033, 0.032, 0.027, 0.021, 0.018, 0.016, 0.020, 0.018, 0.017, 0.014, 0.022, 0.022, 0.023, 0.014, 0.018, 0.021, 0.017, 0.018, 0.020, 0.020, 0.022, 0.025, 0.023, 0.026, 0.024, 0.022, 0.022, 0.016, 0.018, 0.024, 0.027, 0.026, 0.030, 0.028, 0.025, 0.025, 0.019, 0.026, 0.020, 0.021, 0.022, 0.022, 0.027, 0.025, 0.033, 0.027, 0.029, 0.028, 0.025, 0.022, 0.025, 0.025, 0.021, 0.023, 0.030, 0.027, 0.024, 0.024, 0.027, 0.028, 0.024, 0.024, 0.027, 0.030, 0.036, 0.034, 0.033, 0.042, 0.034, 0.036, 0.041, 0.036, 0.031, 0.033, 0.044, 0.043, 0.050, 0.044, 0.047, 0.050, 0.051, 0.052, 0.060, 0.063, 0.047, 0.036, 0.033, 0.051, 0.051, 0.042, 0.045, 0.039, 0.039, 0.048, 0.037, 0.031, 0.046, 0.053 ]), dt = 0.250, ray_param = 0.06147, std_sc = 0.5, rf_phase = 'Ps', weight_by = 'rf1', filter_corners = [1, 100] ), pipeline.RecvFunc( amp = np.array([-0.071, -0.074, -0.065, -0.044, -0.028, -0.005, 0.009, 0.021, 0.025, 0.029, 0.019, 0.006, -0.009, -0.026, -0.042, -0.057, -0.072, -0.080, -0.082, -0.081, -0.072, -0.066, -0.060, -0.054, -0.047, -0.039, -0.033, -0.029, -0.025, -0.021, -0.016, -0.008, 0.001, 0.007, 0.016, 0.022, 0.017, 0.011, 0.001, -0.008, -0.013, -0.012, -0.007, -0.003, 0.004, 0.010, 0.017, 0.024, 0.033, 0.038, 0.040, 0.040, 0.038, 0.033, 0.027, 0.022, 0.018, 0.013, 0.010, 0.005, 0.001, -0.001, -0.002, -0.003, -0.002, -0.001, -0.001, 0.000, 0.001, 0.002, 0.004, 0.005, 0.007, 0.009, 0.011, 0.012, 0.013, 0.013, 0.011, 0.008, 0.006, 0.004, 0.001, -0.002, -0.004, -0.003, -0.006, -0.005, -0.001, 0.002, 0.011, 0.021, 0.029, 0.038, 0.043, 0.047, 0.049, 0.051, 0.050, 0.046, 0.041, 0.035, 0.028, 0.025, 0.022, 0.021, 0.022, 0.024, 0.027, 0.029, 0.029, 0.022, 0.015, 0.004, -0.012, -0.030, -0.046, -0.060, -0.071, -0.077 ]), std = np.array([0.034, 0.036, 0.030, 0.031, 0.034, 0.036, 0.030, 0.030, 0.031, 0.034, 0.033, 0.032, 0.030, 0.027, 0.024, 0.022, 0.021, 0.022, 0.022, 0.021, 0.021, 0.020, 0.021, 0.020, 0.019, 0.018, 0.017, 0.016, 0.015, 0.015, 0.016, 0.017, 0.017, 0.018, 0.019, 0.018, 0.017, 0.017, 0.018, 0.021, 0.025, 0.029, 0.029, 0.028, 0.027, 0.026, 0.022, 0.019, 0.017, 0.014, 0.012, 0.011, 0.010, 0.011, 0.012, 0.012, 0.013, 0.013, 0.013, 0.013, 0.013, 0.013, 0.013, 0.015, 0.015, 0.016, 0.016, 0.015, 0.014, 0.013, 0.012, 0.012, 0.012, 0.012, 0.012, 0.012, 0.012, 0.013, 0.013, 0.014, 0.014, 0.015, 0.015, 0.015, 0.015, 0.016, 0.015, 0.014, 0.013, 0.013, 0.013, 0.015, 0.017, 0.020, 0.022, 0.025, 0.026, 0.027, 0.029, 0.029, 0.030, 0.029, 0.029, 0.027, 0.025, 0.023, 0.022, 0.022, 0.024, 0.026, 0.027, 0.031, 0.032, 0.033, 0.038, 0.046, 0.055, 0.064, 0.071, 0.073 ]), dt = 0.250, ray_param = 0.11012, std_sc = 5, rf_phase = 'Sp', weight_by = 'rf1', filter_corners = [4, 100] ), ] swd_obs = pipeline.SurfaceWaveDisp( period = np.array([9.000, 10.120, 11.570, 13.500, 16.200, 20.250, 25.000, 32.000, 40.000, 50.000, 60.000, 80.000 ]), c = np.array([3.3350, 3.3540, 3.4060, 3.4790, 3.5600, 3.6390, 3.7630, 3.8720, 3.8980, 3.9930, 4.0130, 4.0480 ]), std = np.array([0.2730, 0.1110, 0.1110, 0.1200, 0.0890, 0.0440, 0.0130, 0.0150, 0.0170, 0.0190, 0.0200, 0.0180 ]) ) all_lims = pipeline.Limits( vs = (0.5, 5.0),dep = (0,200), std_rf_sc = (1, 2), lam_rf = (0.05, 0.5), std_swd_sc = (1, 2), crustal_thick = (25,)) vs_in = 'unknown' return (rf_obs, swd_obs, all_lims, vs_in)
def LoadObservations(): swd_obs = pipeline.SurfaceWaveDisp( period=np.array([ 9.0, 10.12, 11.57, 13.5, 16.2, 20.25, 25.0, 32.0, 40.0, 50.0, 60.0, 80.0, ]), c=np.array([ 3.212, 3.215, 3.233, 3.288, 3.339, 3.388, 3.514, 3.647, 3.715, 3.798, 3.847, 3.937, ]), ) all_lims = pipeline.Limits(vs=(0.5, 5.0), dep=(0, 200), std_rf=(0.1, 0.05), lam_rf=(0.05, 0.5), std_swd=(0.1, 0.05), crustal_thick=(25, )) rf_obs = [ pipeline.RecvFunc( amp=np.array([ 0.073, 0.125, 0.102, 0.022, -0.027, -0.015, 0.013, 0.011, -0.004, 0.004, 0.032, 0.037, 0.003, -0.037, -0.048, -0.020, 0.033, 0.080, 0.089, 0.056, 0.012, -0.016, -0.014, 0.003, 0.013, 0.006, -0.003, -0.003, -0.000, -0.001, -0.004, -0.001, 0.007, 0.009, -0.003, -0.021, -0.031, -0.027, -0.014, -0.001, 0.010, 0.018, 0.014, -0.002, -0.017, -0.023, -0.024, -0.021, -0.011, -0.000, 0.004, 0.002, 0.004, 0.012, 0.015, 0.006, -0.004, -0.000, 0.012, 0.018, 0.011, -0.004, -0.011, -0.007, 0.002, 0.004, 0.001, -0.001, -0.002, -0.002, -0.003, -0.003, -0.003, -0.005, -0.009, -0.014, -0.017, -0.016, -0.020, -0.029, -0.032, -0.022, -0.004, 0.007, 0.006, -0.001, -0.005, -0.007, -0.010, -0.015, -0.012, 0.001, 0.014, 0.016, 0.008, -0.002, -0.011, -0.019, -0.017, -0.006, 0.006, 0.012, 0.013, 0.013, 0.006, -0.014, -0.033, -0.024, 0.009, 0.030, 0.018, -0.005, -0.011, -0.000, 0.003, -0.008, -0.013, -0.002, 0.016, 0.022, ]), dt=0.25, ray_param=0.06147, std_sc=5, rf_phase='Ps', filter_corners=[1, 100], weight_by=4, ), pipeline.RecvFunc( amp=np.array([ 0.027, 0.031, 0.025, 0.021, 0.026, 0.037, 0.040, 0.035, 0.025, 0.010, -0.005, -0.016, -0.030, -0.044, -0.053, -0.057, -0.057, -0.056, -0.056, -0.064, -0.073, -0.066, -0.054, -0.045, -0.040, -0.036, -0.029, -0.018, -0.009, -0.006, -0.005, -0.003, 0.003, 0.014, 0.025, 0.027, 0.025, 0.029, 0.035, 0.041, 0.042, 0.036, 0.027, 0.020, 0.020, 0.019, 0.014, 0.011, 0.016, 0.027, 0.035, 0.036, 0.035, 0.035, 0.036, 0.038, 0.040, 0.035, 0.024, 0.014, 0.012, 0.010, 0.007, 0.004, 0.002, 0.002, 0.003, 0.005, 0.003, 0.001, -0.001, -0.001, 0.004, 0.009, 0.011, 0.010, 0.009, 0.008, 0.007, 0.005, 0.004, 0.001, -0.007, -0.014, -0.014, -0.013, -0.012, -0.011, -0.010, -0.005, 0.001, 0.000, -0.003, -0.003, -0.001, 0.001, 0.004, 0.006, 0.005, 0.002, 0.003, 0.006, 0.009, 0.011, 0.012, 0.013, 0.013, 0.009, 0.003, -0.002, -0.003, -0.003, -0.006, -0.010, -0.012, -0.014, -0.015, -0.014, -0.014, -0.015, ]), dt=0.25, ray_param=0.11012, std_sc=5, rf_phase='Sp', filter_corners=[4, 100], weight_by=4, ), ] vs_in = 'unknown' return (rf_obs, swd_obs, all_lims, vs_in)
pr = cProfile.Profile() pr.enable() #def try_running(): max_it = 200000 rnd_sd = 1 rf_obs = pipeline.RecvFunc(amp=np.array([ 0.073, 0.125, 0.102, 0.022, -0.027, -0.015, 0.013, 0.011, -0.004, 0.004, 0.032, 0.037, 0.003, -0.037, -0.048, -0.020, 0.033, 0.080, 0.089, 0.056, 0.012, -0.016, -0.014, 0.003, 0.013, 0.006, -0.003, -0.003, -0.000, -0.001, -0.004, -0.001, 0.007, 0.009, -0.003, -0.021, -0.031, -0.027, -0.014, -0.001, 0.010, 0.018, 0.014, -0.002, -0.017, -0.023, -0.024, -0.021, -0.011, -0.000, 0.004, 0.002, 0.004, 0.012, 0.015, 0.006, -0.004, -0.000, 0.012, 0.018, 0.011, -0.004, -0.011, -0.007, 0.002, 0.004, 0.001, -0.001, -0.002, -0.002, -0.003, -0.003, -0.003, -0.005, -0.009, -0.014, -0.017, -0.016, -0.020, -0.029, -0.032, -0.022, -0.004, 0.007, 0.006, -0.001, -0.005, -0.007, -0.010, -0.015, -0.012, 0.001, 0.014, 0.016, 0.008, -0.002, -0.011, -0.019, -0.017, -0.006, 0.006, 0.012, 0.013, 0.013, 0.006, -0.014, -0.033, -0.024, 0.009, 0.030, 0.018, -0.005, -0.011, -0.000, 0.003, -0.008, -0.013, -0.002, 0.016, 0.022 ]), dt=0.25) swd_obs = pipeline.SurfaceWaveDisp(period=np.array( [9.0, 10.1, 11.6, 13.5, 16.2, 20.3, 25.0, 32.0, 40.0, 50.0, 60.0, 80.0]), c=np.array([ 3.212, 3.215, 3.233, 3.288, 3.339, 3.388, 3.514, 3.647, 3.715, 3.798, 3.847, 3.937 ]))
0.013, 0.012, 0.013, 0.013, 0.014, 0.013, 0.012, 0.012, 0.012, 0.011, 0.011, 0.011, 0.013, 0.016, 0.021, 0.026, 0.030, 0.031, 0.035, 0.036, 0.033, 0.029, 0.023, 0.016, 0.014, 0.016, 0.017, 0.016, 0.017, 0.019, 0.019, 0.019, 0.018, 0.018, 0.018, 0.018, 0.018, 0.015, 0.015, 0.011, 0.010, 0.014, 0.019, 0.022, 0.021, 0.020, 0.019, 0.019, 0.024, 0.034, 0.047, 0.059, 0.068, 0.076, 0.077, 0.073, 0.068, 0.058, 0.046, 0.034, 0.024, 0.022, 0.032, 0.043, 0.054, 0.062, 0.065, 0.066, 0.063, 0.059, 0.059, 0.068, 0.078, 0.084, 0.088, 0.085, 0.081, 0.073, 0.060, 0.049, 0.037, 0.036, 0.037, 0.038, 0.040, 0.040, 0.041, 0.043, 0.045, 0.047 ]) rf_in = [ pipeline.RecvFunc( amp=np.array([0, 1]), dt=0.25, std=stdrf, #0.02*np.ones(120,), rf_phase='Ps', ray_param=0.06147, filter_corners=[1, 100], std_sc=0.5, weight_by='even') ] rf_Ps = pipeline.SynthesiseRF(fullmodel, rf_in) rf_Sp = pipeline.SynthesiseRF(fullmodel, [ rf_in[0]._replace( rf_phase='Sp', ray_param=0.11012, filter_corners=[4, 100], std_sc=5) ]) if rf_phase == 'Ps': rf = rf_Ps if rf_phase == 'Sp': rf = rf_Sp if rf_phase == 'Both': rf = [rf_Ps[0], rf_Sp[0]]