initial upload
This commit is contained in:
86
examples/scripts_of_plotting/6_plot_data_residual.py
Normal file
86
examples/scripts_of_plotting/6_plot_data_residual.py
Normal file
@@ -0,0 +1,86 @@
|
||||
# %%
|
||||
import sys
|
||||
sys.path.append('../utils')
|
||||
import functions_for_data as ffd
|
||||
|
||||
|
||||
# %%
|
||||
# synthetic and observational traveltime files in the initial and final models
|
||||
|
||||
file_init_syn = "OUTPUT_FILES/src_rec_file_inv_0000_reloc_0000.dat" # synthetic traveltime in the initial model
|
||||
file_init_obs = "input_files/src_rec_file.dat" # observational traveltime in the initial model
|
||||
|
||||
file_final_syn = "OUTPUT_FILES/src_rec_file_inv_0009_reloc_0009.dat" # synthetic traveltime in the final model
|
||||
file_final_obs = "OUTPUT_FILES/src_rec_file_inv_0009_reloc_0009_obs.dat" # observational traveltime in the final model
|
||||
|
||||
|
||||
# %%
|
||||
# from pytomoatt.src_rec import SrcRec
|
||||
# init_syn = SrcRec.read(file_init_syn)
|
||||
# init_obs = SrcRec.read(file_init_obs)
|
||||
|
||||
# final_syn = SrcRec.read(file_final_syn)
|
||||
# final_obs = SrcRec.read(file_final_obs)
|
||||
|
||||
# %%
|
||||
ev, st = ffd.read_src_rec_file(file_init_syn)
|
||||
time_init_syn = ffd.data_dis_time(ev, st)[1] # synthetic traveltime in the initial model
|
||||
|
||||
ev, st = ffd.read_src_rec_file(file_init_obs)
|
||||
time_init_obs = ffd.data_dis_time(ev, st)[1] # observational traveltime in the initial model
|
||||
|
||||
ev, st = ffd.read_src_rec_file(file_final_syn)
|
||||
time_final_syn = ffd.data_dis_time(ev, st)[1] # synthetic traveltime in the final model
|
||||
|
||||
ev, st = ffd.read_src_rec_file(file_final_obs)
|
||||
time_final_obs = ffd.data_dis_time(ev, st)[1] # observational traveltime in the final model
|
||||
|
||||
# %%
|
||||
import os
|
||||
try:
|
||||
os.mkdir("img")
|
||||
except:
|
||||
pass
|
||||
|
||||
# %%
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
fig = plt.figure(figsize=(8,8))
|
||||
ax = fig.add_subplot(111)
|
||||
|
||||
range_l = -1.5
|
||||
range_r = 1.5
|
||||
Nbar = 20
|
||||
|
||||
bins=np.linspace(range_l,range_r,Nbar)
|
||||
error_init = time_init_syn - time_init_obs
|
||||
error_final = time_final_syn - time_final_obs
|
||||
|
||||
tag1 = "initial mode"
|
||||
tag2 = "final mode"
|
||||
|
||||
hist_init, _, _ = ax.hist(error_init,bins=bins,histtype='step', edgecolor = "red", linewidth = 2,
|
||||
label = "%s: std = %5.3f s, mean = %5.3f s"%(tag1,np.std(error_init),np.mean(error_init)))
|
||||
|
||||
hist_final, _, _ = ax.hist(error_final,bins=bins,alpha = 0.5, color = "blue",
|
||||
label = "%s: std = %5.3f s, mean = %5.3f s"%(tag2,np.std(error_final),np.mean(error_final)))
|
||||
|
||||
print("residual for ",tag1," model is: ","mean: ",np.mean(error_init),"sd: ",np.std(error_init))
|
||||
print("residual for ",tag2," model is: ","mean: ",np.mean(error_final),"sd: ",np.std(error_final))
|
||||
ax.legend(fontsize=14)
|
||||
|
||||
ax.set_xlim(range_l - abs(range_l)*0.1,range_r + abs(range_r)*0.1)
|
||||
ax.set_ylim(0,1.3*max(max(hist_init),max(hist_final)))
|
||||
|
||||
ax.tick_params(axis='x',labelsize=18)
|
||||
ax.tick_params(axis='y',labelsize=18)
|
||||
ax.set_ylabel('Count of data',fontsize=18)
|
||||
ax.set_xlabel('Traveltime residuals (s)',fontsize=18)
|
||||
ax.set_title("$t_{syn} - t_{obs}$",fontsize=18)
|
||||
ax.grid()
|
||||
|
||||
plt.savefig("img/6_data_residual.png",dpi=300, bbox_inches='tight', edgecolor='w', facecolor='w' )
|
||||
plt.show()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user