spacetelescope / jwst

Python library for science observations from the James Webb Space Telescope
https://jwst-pipeline.readthedocs.io/en/latest/
Other
569 stars 167 forks source link

calwebb_tso3 crashes when tso_photometry step skipped #3640

Closed stscijgbot closed 5 years ago

stscijgbot commented 5 years ago

Issue JP-786 was created by Howard Bushouse:

[https://jtar.stsci.edu/browse/JWSTDMSSDPDR-5125] reports a failure in the calwebb_tso3 pipeline when processing a NRC_TSIMAGE (TSO imaging) exposure. Incorrect meta data in the exposure header (namely TSOVISIT=F) causes the TSOPHOT reference file selection to fail, which causes the tso_photometry step to be skipped. This all happens cleanly with appropriate log messages. But when control is returned up to the calwebb_tso3 pipeline, it crashes when trying to create the photometry output catalog, due to null results passed back from the tso_photometry step. A test needs to be performed to make sure the step succeeded before trying to save the output file.

stscijgbot commented 5 years ago

Comment by Howard Bushouse: Test data files have been copied to /grp/jwst/ssb/chartreuse/dms_bugs/dr-5125/

stscijgbot commented 5 years ago

Comment by Jane Morrison: I need some clarification, is the fact the TSOVISIT = False a mistake ? PR #3633 added a check that for EXP_TYPE = MIR_IMAGE or NRC_TSIMAGE, TSOVISIT has to be true for the tso_photometry step to called.

So now the pipeline is seeing that TSOVISIT is false and is trying to call extract 1D. If this data was grism data would the EXP_TYPE = NRC_TSGRISM ?

Is the check if EXP_TYPE = MIR_IMAGE or NRC_TSOIMAGE and TSOVisit = false - we want to catch this error and really do nothing to the data ?

[~eisenham]

stscijgbot commented 5 years ago

Comment by Howard Bushouse: AFAIK, yes, the fact that TSOVISIT is set to False is a mistake up-stream. But you're also right that we really shouldn't care about the setting of TSOVISIT when EXP_TYPE='NRC_TSGRISM' or 'NRC_TSIMAGE', because those are hardwired TSO modes. The only time we care about TSOVISIT (for imaging) is when EXP_TYPE='MIR_IMAGE'. So yes the completely correct logic would be:

if EXP_TYPE=='NRC_TSIMAGE' or (EXP_TYPE=='MIR_IMAGE' and TSOVISIT is True)

and when that expression is True, call the tso_photometry step, but not the extract_1d or white_light steps. When that expression is False, don't call tso_photometry, but instead call extract_1d and white_light.

stscijgbot commented 5 years ago

Comment by Jane Morrison: submitted #3650 to fix this issue

nden commented 5 years ago

resolved in #3650

stscijgbot commented 5 years ago

Comment by Jane Morrison: submitted #3649 to fix this issue

stscijgbot commented 5 years ago

Comment by Howard Bushouse: Reopening temporarily to assign story points.