def parse_ins_string(string):
    """ split up an instruction file line to get the observation names

    Parameters
    ----------
    string : str
        instruction file line

    Returns
    -------
    obs_names : list
        list of observation names

    """
    istart_markers = ["[","(","!"]
    iend_markers = ["]",")","!"]

    obs_names = []

    idx = 0
    while True:
        if idx >= len(string) - 1:
            break
        char = string[idx]
        if char in istart_markers:
            em = iend_markers[istart_markers.index(char)]
            # print("\n",idx)
            # print(string)
            # print(string[idx+1:])
            # print(string[idx+1:].index(em))
            # print(string[idx+1:].index(em)+idx+1)
            eidx = min(len(string),string[idx+1:].index(em)+idx+1)
            obs_name = string[idx+1:eidx]
            if obs_name.lower() != "dum":
                obs_names.append(obs_name)
            idx = eidx + 1
        else:
            idx += 1
    return obs_names
def parse_ins_string ( string ) : istart_markers = [ "[" , "(" , "!" ] iend_markers = [ "]" , ")" , "!" ] obs_names = [ ] idx = 0 while True : if idx >= len ( string ) - 1 : break char = string [ idx ] if char in istart_markers : em = iend_markers [ istart_markers . index ( char ) ] eidx = min ( len ( string ) , string [ idx + 1 : ] . index ( em ) + idx + 1 ) obs_name = string [ idx + 1 : eidx ] if obs_name . lower ( ) != "dum" : obs_names . append ( obs_name ) idx = eidx + 1 else : idx += 1 return obs_names
split up an instruction file line to get the observation names

    Parameters
    ----------
    string : str
        instruction file line

    Returns
    -------
    obs_names : list
        list of observation names