Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-10572

Logs are full of "Cannot compute CoaddPsf at point"

    XMLWordPrintable

    Details

      Description

      Production multiband logs are full of lines of the form:

      84166 WARN  2017-05-17T20:50:00.807-0400 multiBandDriver.measureCoaddSources.mea
      surement: Error in ext_convolved_ConvolvedFlux.measure on record 385455791349444
      17: 
        File "src/CoaddPsf.cc", line 259, in virtual std::shared_ptr<lsst::afw::image:
      :Image<double> > lsst::meas::algorithms::CoaddPsf::doComputeKernelImage(const Po
      int2D&, const lsst::afw::image::Color&) const
          Cannot compute CoaddPsf at point (32315, 728); no input images at that point
      . {0}
      lsst::pex::exceptions::InvalidParameterError: 'Cannot compute CoaddPsf at point 
      (32315, 728); no input images at that point.'
      

      This error occurs for any measurement algorithm that uses the PSF, and does not get silenced as other errors do. The chatter from such errors makes it difficult to spot bona fide errors in the logs. And the logs are huge: a few gigabytes per tract.

      The problem is that CoaddPsf (correctly) throws an InvalidParameterError rather than a MeasurementError (which would get swallowed), but the boilerplate for handling that correctly (catch the exception, re-throw as a MeasurementError with the appropriate type) is a pain. Perhaps a convenience method in the Algorithm class would be helpful?

        Attachments

          Issue Links

            Activity

            price Paul Price created issue -
            price Paul Price made changes -
            Field Original Value New Value
            Description Production multiband logs are full of lines of the form:
            {code}
            84166 WARN 2017-05-17T20:50:00.807-0400 multiBandDriver.measureCoaddSources.mea
            surement: Error in ext_convolved_ConvolvedFlux.measure on record 385455791349444
            17:
              File "src/CoaddPsf.cc", line 259, in virtual std::shared_ptr<lsst::afw::image:
            :Image<double> > lsst::meas::algorithms::CoaddPsf::doComputeKernelImage(const Po
            int2D&, const lsst::afw::image::Color&) const
                Cannot compute CoaddPsf at point (32315, 728); no input images at that point
            . {0}
            lsst::pex::exceptions::InvalidParameterError: 'Cannot compute CoaddPsf at point
            (32315, 728); no input images at that point.'
            {code}

            This error occurs for any measurement algorithm that uses the PSF, and does not get silenced as other errors do. The chatter from such errors makes it difficult to spot _bona fide_ errors in the logs.

            The problem is that {{CoaddPsf}} (correctly) throws an {{InvalidParameterError}} rather than a {{MeasurementError}} (which would get swallowed), but the boilerplate for handling that correctly (catch the exception, re-throw as a {{MeasurementError}} with the appropriate type) is a pain. Perhaps a convenience method in the {{Algorithm}} class would be helpful?
            Production multiband logs are full of lines of the form:
            {code}
            84166 WARN 2017-05-17T20:50:00.807-0400 multiBandDriver.measureCoaddSources.mea
            surement: Error in ext_convolved_ConvolvedFlux.measure on record 385455791349444
            17:
              File "src/CoaddPsf.cc", line 259, in virtual std::shared_ptr<lsst::afw::image:
            :Image<double> > lsst::meas::algorithms::CoaddPsf::doComputeKernelImage(const Po
            int2D&, const lsst::afw::image::Color&) const
                Cannot compute CoaddPsf at point (32315, 728); no input images at that point
            . {0}
            lsst::pex::exceptions::InvalidParameterError: 'Cannot compute CoaddPsf at point
            (32315, 728); no input images at that point.'
            {code}

            This error occurs for any measurement algorithm that uses the PSF, and does not get silenced as other errors do. The chatter from such errors makes it difficult to spot _bona fide_ errors in the logs. And the logs are *huge*: a few gigabytes per tract.

            The problem is that {{CoaddPsf}} (correctly) throws an {{InvalidParameterError}} rather than a {{MeasurementError}} (which would get swallowed), but the boilerplate for handling that correctly (catch the exception, re-throw as a {{MeasurementError}} with the appropriate type) is a pain. Perhaps a convenience method in the {{Algorithm}} class would be helpful?
            tjenness Tim Jenness made changes -
            Labels sciencepipelines
            tjenness Tim Jenness made changes -
            Remote Link This issue links to "Page (Confluence)" [ 28092 ]
            jbosch Jim Bosch made changes -
            Labels sciencepipelines PairCoding sciencepipelines
            jbosch Jim Bosch made changes -
            Epic Link DM-29152 [ 458509 ]
            Team Data Release Production [ 10301 ]
            Urgent? off
            jbosch Jim Bosch made changes -
            Resolution Done [ 10000 ]
            Status To Do [ 10001 ] Invalid [ 11005 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              price Paul Price
              Watchers:
              Jim Bosch, Lauren MacArthur, Paul Price
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.