docs: def _write_observation_headers(self, observations):
          """
          See src/pipematt/step1matt-c
          """
          for observation in observations:
              header = observation.header
  
              def get_header_vals(header_list):
                  header_vals = []
                  for key in header_list:
                      val = header[key]
  
                      if key == MJD_OBS_CENTER:
                          header_vals.append(val)
                      elif key == DETECTOR:
                          header_vals.append(val.ljust(20))
                      else:
                          header_vals.append(float(val))
  
                  return tuple(header_vals)
  
              self._write_line("## MOPversion")
              self._write_line("#  %s" % header[MOPVERSION])
              self._write_line("## MJD-OBS-CENTER  EXPTIME THRES FWHM  MAXCOUNT CRVAL1     CRVAL2     EXPNUM")
              self._write_line("# %s%8.2f%6.2f%6.2f%9.1f%11.5f%11.5f%9d" % get_header_vals(
                  [MJD_OBS_CENTER, EXPTIME, THRES, FWHM, MAXCOUNT, CRVAL1, CRVAL2, EXPNUM]))
              self._write_line("## SCALE CHIP CRPIX1    CRPIX2    NAX1  NAX2   DETECTOR           PHADU RDNOIS")
              self._write_line("# %6.3f%4d%10.2f%10.2f%6d%6d %s%5.2f %5.2f" % get_header_vals(
                  [SCALE, CHIP, CRPIX1, CRPIX2, NAX1, NAX2, DETECTOR, PHADU, RDNOIS]))