Add multiple-filter capabilities to validate_drp

XMLWordPrintable

Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
None
• Story Points:
1
• Team:
SQuaRE

Description

Design and refactor validate_drp to produce results for multiple filters.

1. Decide on the syntax for the YAML configuration file that denotes the multiple filters. E.g., which visit goes with what filter?
2. Organize the running of multiple filters in validate.run to sequentially generate statistics and plots for each filter.
3. Add a filter designation to the default output prefix.

Note: matching objects across filters is out-of-scope for this ticket.

Activity

Hide
Michael Wood-Vasey added a comment -

Largely done.
Need to test on a multi-filter dataset.

Waiting for review and merging of previous tickets ( DM-4901, DM-4956,DM-4957) before submitting this one for review.

Show
Michael Wood-Vasey added a comment - Largely done. Need to test on a multi-filter dataset. Waiting for review and merging of previous tickets ( DM-4901 , DM-4956 , DM-4957 ) before submitting this one for review.
Hide
Michael Wood-Vasey added a comment - - edited

Tested successfully on the DECam COSMOS data set. Run as below.

Notes:

• "b1916" is the weekly "w.2016.06"
• I have obs_decam and validate_drp installed separately in ~wmwv/lsst. They're not available on the {~lsstsw}} install.

 . ~lsstsw/bin/setup.sh setup pipe_tasks -t b1916 

 setup -j -r ~wmwv/lsst/obs_decam 

 cd ~wmwv/lsst/validate_drp/ git checkout tickets/DM-5121 setup -j -r . scons opt=3 cd - 

 validateDrp.py /lsst8/decam/redux/cp/cosmos ${VALIDATE_DRP_DIR}/examples/DecamCosmos.yaml > DecamCosmos.log 2>&1  Will analyze 9 z-band visit and 6 r-band visits for ccds 10..18. It produces STDOUT with some summary numbers, output plots, JSON files. There's a bunch of extra stuff in there right now from cases where no matching visits can be found for two objects separate by some fixed D. E.g.  No matching visits found for objs: 3240 and 6  which is one reason I capture the above running of validateDrp.py to a log file. Show Michael Wood-Vasey added a comment - - edited Tested successfully on the DECam COSMOS data set. Run as below. Notes: "b1916" is the weekly "w.2016.06" I have obs_decam and validate_drp installed separately in ~wmwv/lsst . They're not available on the {~lsstsw}} install. . ~lsstsw/bin/setup.sh setup pipe_tasks -t b1916 setup -j -r ~wmwv/lsst/obs_decam cd ~wmwv/lsst/validate_drp/ git checkout tickets/DM-5121 setup -j -r . scons opt=3 cd - validateDrp.py /lsst8/decam/redux/cp/cosmos${VALIDATE_DRP_DIR}/examples/DecamCosmos.yaml > DecamCosmos.log 2>&1 Will analyze 9 z-band visit and 6 r-band visits for ccds 10..18. It produces STDOUT with some summary numbers, output plots, JSON files. There's a bunch of extra stuff in there right now from cases where no matching visits can be found for two objects separate by some fixed D. E.g. No matching visits found for objs: 3240 and 6 which is one reason I capture the above running of validateDrp.py to a log file.
Hide
Michael Wood-Vasey added a comment - - edited

Straightfoward. Would be great if you could try it out yourself on lsst-dev.

If you don't have time to try, you can look at the results on lsst-dev in

 ~wmwv/DecamCosmos_DM-5121/ 

or attached to this ticket.

Changes:
1. Minor syntax change in building of dataIds from YAML config file to support single filter for all visits, or matching list of filter for each visit.
2. validate.py now has an overall parsing for all filters, then hands off to do a oneFilter version of the analysis for each filter. Output filenames are distinguished by including the filter names.

• Note: There is no cross-filter matching done.
3. Improve JSON test (yes, technically out of scope, but indulge me to include it here).
Show
Michael Wood-Vasey added a comment - - edited Straightfoward. Would be great if you could try it out yourself on lsst-dev. If you don't have time to try, you can look at the results on lsst-dev in ~wmwv/DecamCosmos_DM-5121/ or attached to this ticket. Changes: 1. Minor syntax change in building of dataIds from YAML config file to support single filter for all visits, or matching list of filter for each visit. 2. validate.py now has an overall parsing for all filters, then hands off to do a oneFilter version of the analysis for each filter. Output filenames are distinguished by including the filter names. Note: There is no cross-filter matching done. 3. Improve JSON test (yes, technically out of scope, but indulge me to include it here).
Hide
Michael Wood-Vasey added a comment -
Show
Michael Wood-Vasey added a comment - Pull Request is https://github.com/lsst/validate_drp/pull/9
Hide
David Nidever [X] (Inactive) added a comment -

Why do you need the filter information in the yaml file? You can get that directly from the data, no?

Show
David Nidever [X] (Inactive) added a comment - Why do you need the filter information in the yaml file? You can get that directly from the data, no?
Hide
Michael Wood-Vasey added a comment -

Yes. Retrieving the filters from the repo is DM-5120.

But also there are times when you might want to specifically control what subset of an overall repo you want to analyze.

(I also thought that each of these would be harder than they turned out to be.)

Show
Michael Wood-Vasey added a comment - Yes. Retrieving the filters from the repo is DM-5120 . But also there are times when you might want to specifically control what subset of an overall repo you want to analyze. (I also thought that each of these would be harder than they turned out to be.)
Hide
David Nidever [X] (Inactive) added a comment -

Everything looks good to me.

Show
David Nidever [X] (Inactive) added a comment - Everything looks good to me.
Hide
Michael Wood-Vasey added a comment -

Merged to master.

Show
Michael Wood-Vasey added a comment - Merged to master.

People

• Assignee:
Michael Wood-Vasey
Reporter:
Michael Wood-Vasey
Reviewers:
David Nidever [X] (Inactive)
Watchers:
David Nidever [X] (Inactive), Michael Wood-Vasey