def get_runoff_diff_composit(swe_table_intf=None, traf_table_intf=None, swe_table_no_intf=None, traf_table_no_intf=None, start_year=1980, end_year=2010): total_diff = None for year in range(start_year, end_year + 1): print("Processing year {}".format(year)) # Get data for the simulation with interflow traf_intf = analysis.get_np_arr_sorted_for_year(year, traf_table_intf, level_index=0) swe_intf = analysis.get_np_arr_sorted_for_year(year, swe_table_intf, level_index=0) # Get data for the simulation with interflow traf_no_intf = analysis.get_np_arr_sorted_for_year(year, traf_table_no_intf, level_index=0) swe_no_intf = analysis.get_np_arr_sorted_for_year(year, swe_table_no_intf, level_index=0) nt, nx, ny = swe_intf.shape if total_diff is None: total_diff = np.zeros(swe_intf.shape[1:]) for t in range(1, nt): place_where_melts = (swe_intf[t] < swe_intf[t - 1]) & (swe_no_intf[t] < swe_no_intf[t - 1]) total_diff[place_where_melts] += traf_intf[t][place_where_melts] - traf_no_intf[t][place_where_melts] # print "Number of relevant points: ", np.count_nonzero(the_diff) print("Finished processing {}".format(year)) return total_diff
def get_runoff_differences_composit(traf_table_intf=None, th_table_intf=None, traf_table_no_intf=None, th_table_no_intf=None, thbfc_field=None, start_year=None, end_year=None, dt=3 * 3600): """ :param traf_table_intf: :param th_table_intf: :param traf_table_no_intf: :param th_table_no_intf: :param thbfc_field: :param start_year: :param end_year: :param dt: :return: mean annual surface runoff differences where bulk field capacity is smaller than the soil misture """ level_index = 0 total_diff = None for y in range(start_year, end_year + 1): th_no_intf = analysis.get_np_arr_sorted_for_year( y, th_table_no_intf, level_index=level_index) traf_no_intf = analysis.get_np_arr_sorted_for_year( y, traf_table_no_intf, level_index=level_index) th_intf = analysis.get_np_arr_sorted_for_year(y, th_table_intf, level_index=level_index) traf_intf = analysis.get_np_arr_sorted_for_year( y, traf_table_intf, level_index=level_index) if total_diff is None: total_diff = np.zeros(th_no_intf.shape[1:]) for t in range(th_no_intf.shape[0]): th1 = th_no_intf[t] th2 = th_intf[t] r1 = traf_no_intf[t] r2 = traf_intf[t] cond = (th1 > thbfc_field) & (th2 > thbfc_field) total_diff[cond] += (r2 - r1)[cond] print("Finished processing : {} from {}-{}".format( y, start_year, end_year)) total_diff *= dt total_diff /= float(end_year - start_year + 1) return total_diff
def get_runoff_differences_composit(traf_table_intf=None, th_table_intf=None, traf_table_no_intf=None, th_table_no_intf=None, thbfc_field=None, start_year=None, end_year=None, dt=3 * 3600): """ :param traf_table_intf: :param th_table_intf: :param traf_table_no_intf: :param th_table_no_intf: :param thbfc_field: :param start_year: :param end_year: :param dt: :return: mean annual surface runoff differences where bulk field capacity is smaller than the soil misture """ level_index = 0 total_diff = None for y in range(start_year, end_year + 1): th_no_intf = analysis.get_np_arr_sorted_for_year(y, th_table_no_intf, level_index=level_index) traf_no_intf = analysis.get_np_arr_sorted_for_year(y, traf_table_no_intf, level_index=level_index) th_intf = analysis.get_np_arr_sorted_for_year(y, th_table_intf, level_index=level_index) traf_intf = analysis.get_np_arr_sorted_for_year(y, traf_table_intf, level_index=level_index) if total_diff is None: total_diff = np.zeros(th_no_intf.shape[1:]) for t in range(th_no_intf.shape[0]): th1 = th_no_intf[t] th2 = th_intf[t] r1 = traf_no_intf[t] r2 = traf_intf[t] cond = (th1 > thbfc_field) & (th2 > thbfc_field) total_diff[cond] += (r2 - r1)[cond] print("Finished processing : {} from {}-{}".format(y, start_year, end_year)) total_diff *= dt total_diff /= float(end_year - start_year + 1) return total_diff
def get_runoff_diff_composit(swe_table_intf=None, traf_table_intf=None, swe_table_no_intf=None, traf_table_no_intf=None, start_year=1980, end_year=2010): total_diff = None for year in range(start_year, end_year + 1): print("Processing year {}".format(year)) # Get data for the simulation with interflow traf_intf = analysis.get_np_arr_sorted_for_year(year, traf_table_intf, level_index=0) swe_intf = analysis.get_np_arr_sorted_for_year(year, swe_table_intf, level_index=0) # Get data for the simulation with interflow traf_no_intf = analysis.get_np_arr_sorted_for_year(year, traf_table_no_intf, level_index=0) swe_no_intf = analysis.get_np_arr_sorted_for_year(year, swe_table_no_intf, level_index=0) nt, nx, ny = swe_intf.shape if total_diff is None: total_diff = np.zeros(swe_intf.shape[1:]) for t in range(1, nt): place_where_melts = (swe_intf[t] < swe_intf[t - 1]) & ( swe_no_intf[t] < swe_no_intf[t - 1]) total_diff[place_where_melts] += traf_intf[t][ place_where_melts] - traf_no_intf[t][place_where_melts] # print "Number of relevant points: ", np.count_nonzero(the_diff) print("Finished processing {}".format(year)) return total_diff