Fix Version/s: None
This refactors validate_drp to use the validate_base API (
Main features are:
- All JSON serialization code is now in validate_base; validate_drp exclusively uses that API.
- The validate_base API is slightly different from the version originally included in validate_drp. A significant change is the use of astropy quantities for serialized measurements.
- Refactored utility module to make it easier to follow computations. Functions directly associated with a measurement are included in that measurement's module. The calculations themselves are refactored into function independent of the measurement classes, again, to make it easier to follow the calculation.
- pytest compatibility in tests
- summary pass/fail printout based on the --level argument
- remove unused functions
- improved documentation in the README
DM-7600 Pytest and Flake8 integration with CI and sconsUtils
DM-7328 Port validate_drp to Python 3
DM-8410 Make metrics for astrometric and photometric error models in validate_drp
- Won't Fix
- is blocked by
DM-7042 validate_base API refinement
- is triggering
DM-8411 Update post-qa shim for validate_base-formatted JSON
- relates to
DM-8711 Deploy validate_drp F16 work to Jenkins validate_drp Job
DM-8811 validate_drp should do something reasonable when presented with unknown filtername
- Won't Fix
Great stuff. My main area is concern is that we introduced quantities (which I am all in favour of - see for example the bugs you uncovered by doing that switch!) when we were thinking of validate_base as a relatively standalone package. Recent architectural discussions within SQuaRE are leaning towards tighter integration with the stack, which means that we should make a note that we should probably explicitly RFC it if we go down that route in F17. But the work in the ticket is complete (and then some!) so wrap it up and ship it!
Absolutely. I've merge
DM-7933 to the u/sqre/measurement-api integration branch. Before I merge to master on validate_drp we'll do an RFC that covers
- Adding validate_base as a new package to the lsst_ci top-level package.
- Exposing astropy quantities as an external API in the validate_base API.
CFHT example run outputs.