code: def parse_ins_file(ins_file):
      
  
      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
docs: parse a pest instruction file to get observation names
  
      Parameters
      ----------
      ins_file : str
          instruction file name
  
      Returns
      -------
      list of observation names