def filter_uncertainty(self, isos, limit, delta=True):
<EOL>dat_index, delta_b, ratio_b = self.check_availability(isos)<EOL>if dat_index == -<NUM_LIT:1>:<EOL><INDENT>print('<STR_LIT>')<EOL>return None<EOL><DEDENT>if limit[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:>>':<EOL><INDENT>comperator = '<STR_LIT>'<EOL><DEDENT>elif limit[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:<>':<EOL><INDENT>comperator = '<STR_LIT>'<EOL><DEDENT>else:<EOL><INDENT>print('<STR_LIT>')<EOL>return None<EOL><DEDENT>try:<EOL><INDENT>limit = float(limit[<NUM_LIT:1>:len(limit)])<EOL><DEDENT>except ValueError:<EOL><INDENT>print('<STR_LIT>')<EOL>return None<EOL><DEDENT>if delta == delta_b:   <EOL><INDENT>if ratio_b:   <EOL><INDENT>if delta:<EOL><INDENT>tmp = self.delta_to_ratio(isos,limit,oneover=True)<EOL>comp_lim = self.ratio_to_delta(isos,tmp)   <EOL><DEDENT>else:<EOL><INDENT>comp_lim = old_div(<NUM_LIT:1.>,limit)   <EOL><DEDENT><DEDENT>else:   <EOL><INDENT>comp_lim = limit<EOL><DEDENT><DEDENT>else:   <EOL><INDENT>if ratio_b:   <EOL><INDENT>if delta:   <EOL><INDENT>comp_lim = self.delta_to_ratio(isos,limit,oneover=True)<EOL><DEDENT>else:   <EOL><INDENT>comp_lim = self.ratio_to_delta(isos,limit,oneover=True)<EOL><DEDENT><DEDENT>else:   <EOL><INDENT>if delta:   <EOL><INDENT>comp_lim = self.delta_to_ratio(isos,limit)<EOL><DEDENT>else:<EOL><INDENT>comp_lim = self.ratio_to_delta(isos,limit)<EOL><DEDENT><DEDENT><DEDENT>indexing = []<EOL>for i in range(len(self.data)):<EOL><INDENT>dat_val = self.data[i][dat_index+<NUM_LIT:1>]<EOL>if comperator == '<STR_LIT>':<EOL><INDENT>if dat_val < comp_lim:<EOL><INDENT>indexing.append(i)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if dat_val > comp_lim:<EOL><INDENT>indexing.append(i)<EOL><DEDENT><DEDENT><DEDENT>if len(indexing) > <NUM_LIT:0>:<EOL><INDENT>desc_tmp = np.zeros((len(indexing),len(self.header_desc)),dtype='<STR_LIT>')<EOL>data_tmp = np.zeros((len(indexing),len(self.header_data)))<EOL>for i in range(len(indexing)):<EOL><INDENT>for j in range(len(self.header_desc)):<EOL><INDENT>desc_tmp[i][j] = self.desc[indexing[i]][j]<EOL><DEDENT>for k in range(len(self.header_data)):<EOL><INDENT>data_tmp[i][k] = self.data[indexing[i]][k]<EOL><DEDENT><DEDENT>self.desc = desc_tmp<EOL>self.data = data_tmp<EOL><DEDENT>else:<EOL><INDENT>print('<STR_LIT>')<EOL><DEDENT>
This subroutine filters isotopic values according to the limit
you give.  You can filter in ratio or in delta space.  This
routine is based on the uncertainties, e.g., if you want to
select only high quality data.

Parameters
----------
isos : list
    Isotopes you want to filter for, e.g., give as
    ['Si-28', 'Si-30'] for the 28/30 ratio.
limit : string
    What do you want to filter for, e.g., ratio or delta > 100,
    then give '>100'.
delta : boolean, optional
    Do you wanna filter in delta space, then set to True,
    otherwise to False.  The default is True.