'Return a new table with appropriate combination of IERS_A and B columns.'

@classmethod
def _combine_a_b_columns(cls, iers_a):

    table = iers_a[((~ iers_a[u'UT1_UTC_A'].mask) & (~ iers_a[u'PolPMFlag_A'].mask))]
    table = cls._substitute_iers_b(table)
    table[u'UT1_UTC'] = np.where(table[u'UT1_UTC_B'].mask, table[u'UT1_UTC_A'].data, table[u'UT1_UTC_B'].data)
    table[u'UT1_UTC'].unit = table[u'UT1_UTC_A'].unit
    table[u'UT1Flag'] = np.where(table[u'UT1_UTC_B'].mask, table[u'UT1Flag_A'].data, u'B')
    table[u'PM_x'] = np.where(table[u'PM_X_B'].mask, table[u'PM_x_A'].data, table[u'PM_X_B'].data)
    table[u'PM_x'].unit = table[u'PM_x_A'].unit
    table[u'PM_y'] = np.where(table[u'PM_Y_B'].mask, table[u'PM_y_A'].data, table[u'PM_Y_B'].data)
    table[u'PM_y'].unit = table[u'PM_y_A'].unit
    table[u'PolPMFlag'] = np.where(table[u'PM_X_B'].mask, table[u'PolPMFlag_A'].data, u'B')
    is_predictive = ((table[u'UT1Flag_A'] == u'P') | (table[u'PolPMFlag_A'] == u'P'))
    table.meta[u'predictive_index'] = np.min(np.flatnonzero(is_predictive))
    table.meta[u'predictive_mjd'] = table[u'MJD'][table.meta[u'predictive_index']]
    return table
