parse a pest instruction file to get observation names

    Parameters
    ----------
    ins_file : str
        instruction file name

    Returns
    -------
    list of observation names

def parse_ins_file(ins_file):
    """parse a pest instruction file to get observation names

    Parameters
    ----------
    ins_file : str
        instruction file name

    Returns
    -------
    list of observation names

    """

    obs_names = []
    with open(ins_file,'r') as f:
        header = f.readline().strip().split()
        assert header[0].lower() in ["pif","jif"],\
            "instruction file error: must start with [pif,jif], not:" +\
            str(header[0])
        marker = header[1]
        assert len(marker) == 1,\
            "instruction file error: marker must be a single character, not:" +\
            str(marker)
        for line in f:
            line = line.lower()
            if marker in line:
                raw = line.lower().strip().split(marker)
                for item in raw[::2]:
                    obs_names.extend(parse_ins_string(item))
            else:
                obs_names.extend(parse_ins_string(line.strip()))
    #obs_names = [on.strip().lower() for on in obs_names]
    return obs_names