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

Add initial support for Gen3 Butler to obs_decam

    Details

      Description

      In order to best support AP PipelineTask conversion work at PCW2019, we need to have a Gen3 data repository for ap_verify_hits2015 (or maybe ap_verify_ci_hits2015, or both?).

      Anyhow, first step towards that is Gen3 Butler support for obs_decam, which is what this ticket is about.  That includes:

      • Writing an Instrument subclass for DECam.  The docs for the base class should tell you most of what you need to do (though I've just discovered they're not appearing in the Sphinx HTML for some reason), but I'm sure a concrete example will be even more useful, which HSC provides.  Note that because this will be only the second Instrument subclass, it's probable we'll find we want to adjust the ABC-subclass boundary a bit.
      • Writing a Formatter for raw DECam data (or if necessary, different formatters for different CCDs), probably by inheriting from FitsRawFormatterBase.  Once again, you can use HSC as an example.  This should do the same thing as the Gen2 CameraMapper's std_raw method.  A test that shows the kind of consistency we expect (for HSC) can be found in ci_hsc_gen2 - note that the Gen3 version generally tries much harder to clean things up and make things are components are internally consistent, so it may not be possible to make them entirely consistent with the Gen2 version.  We may not have a good place to put such a test for DECam until we're further along converting an actual test dataset, but it'd be great to write one for one-off testing now and attach it to this ticket, with the expectation that we'll put it in a CI'd package in the future.

      After those steps (and after running the Instrument class's register method on a Gen3 repo), I think it should be possible to run the Gen3 raw ingest task on DECam, and I consider that the end point for this ticket as long as any unexpected problems aren't huge.   This will rely a lot on the DECam translator in astro_metadata_translator as well as the above, but I think that's already working.

      Note that there's no command-line driver script for that task yet, but it's pretty straightforward to run from an interactive Python prompt.  Given that we know that DECam has buggy boresight information in the headers, I don't expect it to populate the database with good spatial regions yet, and I'm okay with fixing that on another ticket (probably by using astro_metadata_translator's on-the-fly header-patching system to just fix the boresight values to something we've fit for the test data we care about).

      Please ping #dm-middleware on Slack with any questions.

        Attachments

          Issue Links

            Activity

            Hide
            Parejkoj John Parejko added a comment -

            A thank you to Jim Bosch and Tim Jenness for all their review and pair coding work, and extra thanks to Jim Bosch for doing the final grunt work of sorting out the colorterms and filterMap issues.

            Merged and done.

            Show
            Parejkoj John Parejko added a comment - A thank you to Jim Bosch and Tim Jenness for all their review and pair coding work, and extra thanks to Jim Bosch for doing the final grunt work of sorting out the colorterms and filterMap issues. Merged and done.
            Hide
            Parejkoj John Parejko added a comment - - edited
            Show
            Parejkoj John Parejko added a comment - - edited post-rebase, post Jim Bosch cleanup Jenkins run with both ci_hsc versions: https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/30338/pipeline
            Hide
            jbosch Jim Bosch added a comment -

            jointcal branch has been reviewed.  Can you point me at the current problem in ci_hsc_gen3?  I may have some time today to help out with that, and I suspect my time would be better spent doing that than trying to juggle a bunch of branches on top of yours for the main ticket I'm working on.

            Show
            jbosch Jim Bosch added a comment - jointcal branch has been reviewed.  Can you point me at the current problem in ci_hsc_gen3?  I may have some time today to help out with that, and I suspect my time would be better spent doing that than trying to juggle a bunch of branches on top of yours for the main ticket I'm working on.
            Hide
            jbosch Jim Bosch added a comment -

            We'll have to decide whether getting ci_hsc_gen3 to pass is a requirement for merging this or not.

            It is.  It's not that we can actually live with having ci_hsc_gen3 broken; it's just that Nate Lust hasn't had a chance to announce it broadly yet, and we've gotten by okay anyway because the set of people likely to commit things that break it is pretty much the set of people who already know about it.  I'll announce it next week if he doesn't.

            Show
            jbosch Jim Bosch added a comment - We'll have to decide whether getting ci_hsc_gen3 to pass is a requirement for merging this or not. It is.  It's not that we can actually live with having ci_hsc_gen3 broken; it's just that Nate Lust hasn't had a chance to announce it broadly yet, and we've gotten by okay anyway because the set of people likely to commit things that break it is pretty much the set of people who already know about it.  I'll announce it next week if he doesn't.
            Hide
            Parejkoj John Parejko added a comment -

            A standard Jenkins run (without ci_hsc_gen3) passed with this version: I've made a tweak to jointcal's tests so that it behaves better with the FilterDefinitions. I think any better solution will have to wait on the implementation of RFC-624.

            Could someone please look at the jointcal PR? https://github.com/lsst/jointcal/pull/147

            We'll have to decide whether getting ci_hsc_gen3 to pass is a requirement for merging this or not.

            Show
            Parejkoj John Parejko added a comment - A standard Jenkins run (without ci_hsc_gen3) passed with this version: I've made a tweak to jointcal's tests so that it behaves better with the FilterDefinitions. I think any better solution will have to wait on the implementation of RFC-624 . Could someone please look at the jointcal PR? https://github.com/lsst/jointcal/pull/147 We'll have to decide whether getting ci_hsc_gen3 to pass is a requirement for merging this or not.

              People

              • Assignee:
                Parejkoj John Parejko
                Reporter:
                jbosch Jim Bosch
                Reviewers:
                Jim Bosch, Tim Jenness
                Watchers:
                Eli Rykoff, Jim Bosch, John Parejko, John Swinbank, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel