docs: def _read_oem(string):
      """
      Args:
          string (str): String containing the OEM
      Return:
          Ephem:
      """
  
      ephems = []
      required = ('REF_FRAME', 'CENTER_NAME', 'TIME_SYSTEM', 'OBJECT_ID', 'OBJECT_NAME')
  
      mode = None
      for line in string.splitlines():
  
          if not line or line.startswith("COMMENT"):  # pragma: no cover
              continue
          elif line.startswith("META_START"):
              mode = "meta"
              ephem = {'orbits': []}
              ephems.append(ephem)
          elif line.startswith("META_STOP"):
              mode = "data"
  
              # Check for required fields
              for k in required:
                  if k not in ephem:
                      raise ValueError("Missing field '{}'".format(k))
  
              # Conversion to be compliant with beyond.env.jpl dynamic reference
              # frames naming convention.
              if ephem['CENTER_NAME'].lower() != "earth":
                  ephem['REF_FRAME'] = ephem['CENTER_NAME'].title().replace(" ", "")
          elif mode == "meta":
              key, _, value = line.partition("=")
              ephem[key.strip()] = value.strip()
          elif mode == "data":
              date, *state_vector = line.split()
              date = Date.strptime(date, "%Y-%m-%dT%H:%M:%S.%f", scale=ephem['TIME_SYSTEM'])
  
              # Conversion from km to m, from km/s to m/s
              # and discard acceleration if present
              state_vector = np.array([float(x) for x in state_vector[:6]]) * 1000
  
              ephem['orbits'].append(Orbit(date, state_vector, 'cartesian', ephem['REF_FRAME'], None))
  
      for i, ephem_dict in enumerate(ephems):
          if not ephem_dict['orbits']:
              raise ValueError("Empty ephemeris")
  
          # In case there is no recommendation for interpolation
          # default to a Lagrange 8th order
          method = ephem_dict.get('INTERPOLATION', 'Lagrange').lower()
          order = int(ephem_dict.get('INTERPOLATION_DEGREE', 7)) + 1
          ephem = Ephem(ephem_dict['orbits'], method=method, order=order)
  
          ephem.name = ephem_dict['OBJECT_NAME']
          ephem.cospar_id = ephem_dict['OBJECT_ID']
          ephems[i] = ephem
  
      if len(ephems) == 1:
          return ephems[0]
  
      return ephems