def filter_data(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]<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.

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.