Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-32694: Split AP pipeline into ApPipeWithFakes #106

Merged
merged 7 commits into from May 17, 2022
Merged

Conversation

kfindeisen
Copy link
Member

This PR significantly reworks the AP pipelines, making two major changes:

  • the DM-30210 workarounds are now done at the contract level, not the parameter/config level. This arrangement is harder to read, but is much more portable to importing pipelines.
  • the ApPipeWithFakes pipeline no longer imports ApPipe, giving it independent task labels and contracts. This change is strictly for the benefit of ap_verify (which needs to be careful about distinguishing fakes and non-fakes tasks), and does not improve ap_pipe itself.

Copy link
Collaborator

@mrawls mrawls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can please convince me that each of the camera-specific ApPipeWithFakes pipelines are importing the correct processCcd steps (isr, calibrate, characterize), then I will be very thrilled with all of this 😀

pipelines/ApPipe.yaml Show resolved Hide resolved
pipelines/ApPipeWithFakes.yaml Outdated Show resolved Hide resolved
pipelines/HyperSuprimeCam/ApPipeWithFakes.yaml Outdated Show resolved Hide resolved
@kfindeisen
Copy link
Member Author

I hope I answered your question about processCCd.

More broadly, are you OK with the fact that ApPipeWithFakes has been largely rewritten? While I'm not surprised you approve of the new contract handling, I expected a bit more resistance to the restructuring/renaming...

@mrawls
Copy link
Collaborator

mrawls commented May 17, 2022

I'm good with the restructuring you did to make the fakes pipeline stand alone - there are arguments to be made for having it import more from regular ApPipe, but I see why doing it this way makes ap_verify's life easier, and the labels are more clear and less likely to accidentally... I don't know... make a template with fakes and forget to use it 🙃

My only quibbles are with definitions of the subsets, as discussed above. If we can sort that out, AND if you're sure ap_verify (which imports the new ApPipeWithFakes pipelines) runs fine on both DECam and HSC datasets, then I'm quite happy.

Explicitly defining a parameter for each possible dataset was too much of
a hassle, so instead I rewrote the contracts to be template-agnostic.
Keeping the two pipelines separate makes it easier to enforce only
the contracts that make sense for each pipeline. This is especially
important for the fakes pipeline, where some configuration bugs may
not get caught by the graph builder.
This prevents confusion between with-fakes and no-fakes versions of
the same task, which happens in ap_verify.
ApVerifyWithFakes was using a different science exposure for difference
imaging and forced photometry.
@kfindeisen kfindeisen merged commit d23fb3d into main May 17, 2022
@kfindeisen kfindeisen deleted the tickets/DM-32694 branch May 17, 2022 19:50
kfindeisen added a commit that referenced this pull request Aug 2, 2023
The config line was added to the base pipeline on #106, but never
synced to the instrument-specific pipelines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants