OK, let me know. I built a DECam PTC with a version of the code from November 2023 (and the code has changed since then, as it’s still evolving). I remember finding a similar dataset to what you describe (from 2012), and the code was able to produce a PTC for the few detectors I checked, using the exposure time as a proxy for flux (i.e., I did not have to use the matchExosuresType
keyword to something different to the default).
I documented some of this in the last comment of this Jira Ticket: [DM-29695] - Rubin Jira
I’m not sure if you can see it without having to log in (please let me know), but in case you can’t see it, I can copy the commands I used here, in case it helps:
- First, I ingested the DECam flats I downloaded from the NOIRLab website into a custom repo (as I could not find any PTC ramps in the standard repos at the USDF or at the IDF; I’m not sure where you are working):
butler create DECamGen3Test3-2023NOV09
butler register-instrument ./DECamGen3Test3-2023NOV09 lsst.obs.decam.DarkEnergyCamera
butler write-curated-calibrations ./DECamGen3Test3-2023NOV09 DECam
butler ingest-raws ./DECamGen3Test3-2023NOV09 ./DECamGen3Test2/DECam/raw/all/raw/20121119/ct4m20121119t*/*.fz
- Then, I ran the PTC pipeline (with simplistic options):
pipetask run -j 8 -d "detector IN (5, 10, 15, 20) AND instrument='DECam' AND exposure IN (153088,153089,153090,153091,153092,153095,153096,153097,153098,153099,153100,153101,153102,153103,153104,153105,153106,153107,153108,153109,153110,153111,153112,153115,153116,153117,153118,153119,153120,153121,153122,153123,153124,153125,153126,153127,153128,153129,153130,153131,153132,153133,153134,153135,153136,153030,153035,153039,153040,153079,153080,153081,153082,153085,153086,153087)" -b ./DECamGen3Test3-2023NOV09 -i DECam/raw/all,DECam/calib -p ${CP_PIPE_DIR}/pipelines/DarkEnergyCamera/cpPtc.yaml -c ptcSolve:ptcFitType=FULLCOVARIANCE -c ptcIsr:doLinearize=False -c ptcIsr:doCrosstalk=False -c ptcIsr:doDefect=False -c ptcIsr:doBias=False -c ptcIsr:doDark=False -c ptcIsr:doFlat=False -c ptcSolve:doLegacyTurnoffSelection=True -c ptcSolve:sigmaCutPtcOutliers=6 -o DM-29695-ptc_2023NOV09.13 --register-dataset-types
butler = dB.Butler("./DECamGen3Test3-2023NOV09", collections=["DM-29695-ptc_2023NOV09.13"])
detector=5
plot_names = ['ptcVarMean', 'ptcVarMeanLog', 'ptcNormalizedVar', 'ptcCov01Mean', 'ptcCov10Mean', 'ptcVarResiduals',
'ptcNormalizedCov01', 'ptcNormalizedCov10', 'ptcAandBMatrices', 'ptcAandBDistance', ' ptcACumulativeSum', 'ptcARelativeBias']
for plot_name in plot_names:
ref = butler.registry.findDataset(plot_name, detector=detector)
print ("Plot number", plot_name)
uri = butler.getURI(ref)
display(Image(data=uri.read()))
Then there’s the question of whether this number of points (flat pairs) is enough or not for measuring the covariances with a particular precision (as discussed, for example, in Astier+19 and Broughton+24). I’m not sure if we can find or even request the taking of a more dense PTC ramp.