Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: pipe_tasks
-
Labels:None
-
Story Points:1
-
Epic Link:
-
Sprint:DRP W16-7
-
Team:Data Release Production
Description
The schema should in general not be a function of whether particular features are enabled or disabled so that users can have confidence looking for columns. However, MeasurePsfTask only creates the calib_psfReserved column when reserveFraction > 0. This causes warnings when attempting to propagate flags from calibration catalogs to deep catalogs.
Attachments
Issue Links
- is triggering
-
DM-5406 Require fields listed in icSourceFieldsToCopy to be present
- Done
Super-simple review, if you don't mind.
price@price-laptop:~/LSST/pipe/tasks (tickets/DM-5385=) $ git sub-patch
commit 84c4ef518b658ab01ed55b3d10057e9ffbfe27a9
Author: Paul Price <price@astro.princeton.edu>
Date: Tue Mar 8 15:58:19 2016 -0500
measurePsf: always add calib_psfReserved column to schema
The schema, as far as possible, should not depend on configuration
parameters. Without calib_psfReserved in the schema, we can get
errors/warnings when propagating flags from calib catalogs to deep
catalogs.
diff --git a/python/lsst/pipe/tasks/measurePsf.py b/python/lsst/pipe/tasks/measurePsf.py
index 3f64ac6..9e3a5a5 100644
--- a/python/lsst/pipe/tasks/measurePsf.py
+++ b/python/lsst/pipe/tasks/measurePsf.py
@@ -246,12 +246,10 @@ into your debug.py file and run measurePsfTask.py with the \c --debug flag.
doc=("Flag set if the source was actually used for PSF determination, "
"as determined by the '%s' PSF determiner.") % self.config.psfDeterminer.name
)
- if self.config.reserveFraction > 0:
- self.reservedKey = schema.addField(
- "calib_psfReserved", type="Flag",
- doc=("Flag set if the source was selected as a PSF candidate, but was "
- "reserved from the PSF fitting."))
-
+ self.reservedKey = schema.addField(
+ "calib_psfReserved", type="Flag",
+ doc=("Flag set if the source was selected as a PSF candidate, but was "
+ "reserved from the PSF fitting."))
else:
self.candidateKey = None
self.usedKey = None