Commit 68dcb148 authored by Peter Jansweijer's avatar Peter Jansweijer

reporting stddev in _err file

parent d20edd2f
......@@ -253,7 +253,7 @@ def calc_alpha_l1_stddev(lambda_1, lambda_1_stddev, lambda_2, lambda_2_stddev, c
alpha_stddev_fixed_lambda = calc_alpha_l1(lambda_1, lambda_2, crtt_lambda_1, crtt_lambda_2, fixed_lambda + fixed_lambda_stddev) - alpha_lambda_1
# Calculate the RMS stddev of alpha
alpha_lambda_1_stddev = numpy.sqrt(alpha_stddev_lambda1**2 + alpha_stddev_lambda2 **2 + alpha_stddev_crtt_lambda1 **2 + alpha_stddev_crtt_lambda2 **2 + alpha_stddev_fixed_lambda)
alpha_lambda_1_stddev = numpy.sqrt(alpha_stddev_lambda1**2 + alpha_stddev_lambda2 **2 + alpha_stddev_crtt_lambda1 **2 + alpha_stddev_crtt_lambda2**2 + alpha_stddev_fixed_lambda**2)
return (alpha_lambda_1, alpha_lambda_1_stddev)
......@@ -514,39 +514,48 @@ def group_delay_stddev(l, l_stddev, popt, perr):
############################################################################
def alpha_err_writeln(alpha_err_file, l1, l_stddev, l2, l_fix, l_fix_stddev, l_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, time_err):
def alpha_err_writeln(alpha_err_file, l1, l1_stddev, l2, l2_stddev, l_fix, l_fix_stddev, l_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev):
"""
write a line to the alpha_err file in a pre formatted way.
alpha_err_file -- output file pointer
l1,l2,l_fix -- <float> 1, 2 and fixed lambda's in [nm].
l_stddev -- <float> std-dev for lambda [m]
l_fix_stddev -- <float> std-dev for fixed return channel lambda [m]
l_idx -- <tuple> (idx1,idx2) lambda index into two dimensional array of alpha's and errors
popt -- <float> sellmeier constants
perr -- <float> std-dev for sellmeier constants
crtt_fixed_lambda -- <float> round trip time @ fixed lambda in [ps]
alpha_3wl -- <2D array of float> of alpha values determined via 3-wavelength method at lambda's l1 and l2
alpha_err_file -- output file pointer
l1,l2,l_fix -- <float> 1, 2 and fixed lambda's in [nm].
l1_stddev, l2_stddev -- <float> std-dev for lambda [m]
l_fix_stddev -- <float> std-dev for fixed return channel lambda [m]
l_idx -- <tuple> (idx1,idx2) lambda index into two dimensional array of alpha's and errors
popt -- <float> sellmeier constants
perr -- <float> std-dev for sellmeier constants
crtt_fixed_lambda -- <float> round trip time @ fixed lambda in [ps]
alpha_3wl -- <2D array of float> of alpha values determined via 3-wavelength method at lambda's l1 and l2
(axes: idx1 => l1, idx2 => l2)
time_err -- <2D array of float> of error values (axes: idx1 => l1, idx2 => l2)
alpha_3wl_stddev -- <2D array of float> of std-dev values
(axes: idx1 => l1, idx2 => l2)
time_err -- <2D array of float> of error values (axes: idx1 => l1, idx2 => l2)
time_err_stddev -- <2D array of float> of std_dev values (axes: idx1 => l1, idx2 => l2)
returns:
"""
l1_str = "{0:.2f}".format(l1)
l2_str = "{0:.2f}".format(l2)
crtt_l1_str = "{0:.0f}".format(group_delay(l1, popt[0], popt[1], popt[2], popt[3], popt[4]))
crtt_l2_str = "{0:.0f}".format(group_delay(l2, popt[0], popt[1], popt[2], popt[3], popt[4]))
alpha_sel, alpha_stddev_sel = calc_alpha_sellmeier_stddev(l1/1e9, l_stddev, l_fix, l_fix_stddev, popt, perr)
crtt_l1, crtt_l1_stddev = group_delay_stddev(l1, l1_stddev, popt, perr)
crtt_l2, crtt_l2_stddev = group_delay_stddev(l2, l2_stddev, popt, perr)
crtt_l1_str = "{0:.0f}".format(crtt_l1)
crtt_l1_stddev_str = "{0:.0f}".format(crtt_l1_stddev)
crtt_l2_str = "{0:.0f}".format(crtt_l2)
crtt_l2_stddev_str = "{0:.0f}".format(crtt_l2_stddev)
alpha_sel, alpha_stddev_sel = calc_alpha_sellmeier_stddev(l1/1e9, l1_stddev, l_fix, l_fix_stddev, popt, perr)
alpha_sel_str = "{0:.3e}".format(alpha_sel)
alpha_stddev_sel_str = "{0:.3e}".format(alpha_stddev_sel)
alpha_3wl_str = "{0:.3e}".format(alpha_3wl[l_idx])
alpha_3wl_stddev_str = "{0:.3e}".format(alpha_3wl_stddev[l_idx])
alpha_spec_3wl_str = "{0:.0f}".format(spec_alpha(alpha_3wl[l_idx]))
time_err_str = "{0:.3e}".format(time_err[l_idx])
time_err_stddev_str = "{0:.3e}".format(time_err_stddev[l_idx])
time_err_rel_str = "{0:.3e}".format(time_err[l_idx]/crtt_fixed_lambda)
alpha_err_file.write(l1_str + "\t" + l2_str + "\t" + crtt_l1_str + "\t" + crtt_l2_str + "\t" + alpha_sel_str + "\t" + alpha_stddev_sel_str + "\t" + alpha_3wl_str + "\t" + alpha_spec_3wl_str + "\t\t\t" + time_err_str + "\t" + time_err_rel_str + "\n")
alpha_err_file.write(l1_str + "\t" + l2_str + "\t" + crtt_l1_str + "\t" + crtt_l1_stddev_str + "\t" + crtt_l2_str + "\t"+ crtt_l2_stddev_str + "\t" + alpha_sel_str + "\t" + alpha_stddev_sel_str + "\t" + alpha_3wl_str + "\t" + alpha_3wl_stddev_str + "\t" + alpha_spec_3wl_str + "\t\t\t" + time_err_str + "\t" + time_err_stddev_str + "\t" + time_err_rel_str + "\n")
return
......@@ -986,7 +995,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
#for i in rng_sel:
# alpha_err_file.write(str(l2[i[0]][0]) + "\t" + str(l2[i[1]][0]) + "\n")
alpha_err_file.write("l1[nm]\tl2[nm]\tcrtt_(l1)[ps]\tcrtt(l2)[ps]\talpha_sel(l1)\talpha_stddev_sel(l1)\talpha_3wl(l1)\tSPEC_alpha_3wl(l1)\ttime_err[ps]\ttime_relative_err[t_err ps/link_length ps]\n")
alpha_err_file.write("l1[nm]\tl2[nm]\tcrtt_(l1)[ps]\tcrtt_stddev(l1)[ps]\tcrtt(l2)[ps]\tcrtt_stddev_(l2)[ps]\talpha_sel(l1)\talpha_stddev_sel(l1)\talpha_3wl(l1)\talpha_3wl_stddev(l1)\tSPEC_alpha_3wl(l1)\ttime_err[ps]\ttime_err_stddev[ps]\ttime_relative_err[t_err ps/link_length ps]\n")
alpha_ddelay_file.write("# lambda-1[nm]\tITU-ch\tSPEC_alpha_3wl(l1)\tlambda-2[nm]\t\ttime_err[ps]\n")
for i in rng_sel:
......@@ -997,7 +1006,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
itu_ch = itu_conv.wavelength_2_itu(lambda1/1e9)
time_err_str = "{0:.3e}".format(time_err[lambda_idx]*1e-12)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, time_err)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_ddelay_file.write(str(lambda1)+", "+str(itu_ch)+", "+str(alpha_spec_3wl)+", "+str(lambda2)+", "+time_err_str+"\n")
alpha_err_file.write("============================\n")
......@@ -1017,7 +1026,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
itu_ch = itu_conv.wavelength_2_itu(lambda1/1e9)
time_err_str = "{0:.3e}".format(time_err[lambda_idx]*1e-12)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, time_err)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_ddelay_file.write(str(lambda1)+", "+str(itu_ch)+", "+str(alpha_spec_3wl)+", "+str(lambda2)+", "+time_err_str+"\n")
alpha_err_file.write("============================\n")
......@@ -1028,7 +1037,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
lambda1 = l1[l1_idx][l2_idx]
lambda2 = l2[l1_idx][l2_idx]
lambda_idx = l1_idx,l2_idx
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, time_err)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_err_file.close()
alpha_ddelay_file.close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment