diff --git a/aeri_qc_web/interpret_qc.py b/aeri_qc_web/interpret_qc.py index 8247cd5f7e15a24f264e5180dd4a3488f2bb0636..847496ed25449bfb4fd70b26d31887ce850b9de5 100644 --- a/aeri_qc_web/interpret_qc.py +++ b/aeri_qc_web/interpret_qc.py @@ -51,16 +51,20 @@ def ignore_error(func, error): def plot_check(nc, check, sum_hk): check_var = nc.variables[check] passes_qc = check_var[:] < .95 - assert len(passes_qc) == len(sum_hk) + if len(passes_qc) != len(sum_hk): + print("len(passes_qc) = {}\nlen(sum_hk) = {}".format(len(passes_qc), len(sum_hk))) + len_shortest = min(len(passes_qc),len(sum_hk)) + passes_qc = passes_qc[:len_shortest] + for depend in check_var.depends.split(','): if depend in sum_hk.columns: fig = plt.figure() # Passing check and qc_percent - ignore_error(lambda : sum_hk[depend].ix[(nc.variables['qc_percent'][:] < .95) & passes_qc].plot(style='b.'), TypeError) + ignore_error(lambda : sum_hk[depend].iloc[:len_shortest].ix[(nc.variables['qc_percent'][:len_shortest] < .95) & passes_qc].plot(style='b.'), TypeError) # Passing check but fails overall - ignore_error(lambda : sum_hk[depend].ix[(nc.variables['qc_percent'][:] > .95) & passes_qc].plot(style='k.',alpha=.2), TypeError) + ignore_error(lambda : sum_hk[depend].iloc[:len_shortest].ix[(nc.variables['qc_percent'][:len_shortest] > .95) & passes_qc].plot(style='k.',alpha=.2), TypeError) # Failing check and implicitly failing overall - ignore_error(lambda : sum_hk[depend].ix[~passes_qc].plot(style='r.'), TypeError) + ignore_error(lambda : sum_hk[depend].iloc[:len_shortest].ix[~passes_qc].plot(style='r.'), TypeError) plt.xlabel('Record') plt.title(depend) yield mpld3.fig_to_html(fig)