Trying out jointcal with pipeline tutorial

I’ve run through the LSST Science Pipelines, and thought it would be fun to try to run jointcal on the results.

Trying
jointcal.py DATA --rerun coadd:jointOut
I get:

root INFO: Running: /Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/jointcal/15.0/bin/jointcal.py DATA --rerun coadd:jointOut
Traceback (most recent call last):
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/jointcal/15.0/bin/jointcal.py", line 5, in <module>
    JointcalTask.parseAndRun()
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pipe_base/15.0/python/lsst/pipe/base/cmdLineTask.py", line 586, in parseAndRun
    resultList = taskRunner.run(parsedCmd)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pipe_base/15.0/python/lsst/pipe/base/cmdLineTask.py", line 233, in run
    if self.precall(parsedCmd):
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pipe_base/15.0/python/lsst/pipe/base/cmdLineTask.py", line 347, in precall
    task = self.makeTask(parsedCmd=parsedCmd)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pipe_base/15.0/python/lsst/pipe/base/cmdLineTask.py", line 472, in makeTask
    return self.TaskClass(config=self.config, log=self.log, butler=butler)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/jointcal/15.0/python/lsst/jointcal/jointcal.py", line 233, in __init__
    self.makeSubtask('astrometryRefObjLoader', butler=butler)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pipe_base/15.0/python/lsst/pipe/base/task.py", line 299, in makeSubtask
    subtask = taskField.apply(name=name, parentTask=self, **keyArgs)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/pex_config/15.0/python/lsst/pex/config/configurableField.py", line 83, in apply
    return self.target(*args, config=self.value, **kw)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/meas_algorithms/15.0/python/lsst/meas/algorithms/loadIndexedReferenceObjects.py", line 49, in __init__
    dataset_config = butler.get("ref_cat_config", name=self.config.ref_dataset_name, immediate=True)
  File "/Users/yoachim/lsstp3/stack/miniconda3-4.3.21-10a4fa6/DarwinX86/daf_persistence/15.0/python/lsst/daf/persistence/butler.py", line 1410, in get
    raise NoResults("No locations for get:", datasetType, dataId)
lsst.daf.persistence.butlerExceptions.NoResults: No locations for get: datasetType:ref_cat_config dataId:DataId(initialdata={'name': 'cal_ref_cat'}, tag=set())

So how do I set my ref_cat_config? As part of the tutorial I set up DATA/ref_cats/ps1_pv3_3pi_20170110 from the ci_hsc repo and that seemed to work find with processCcd.py.

jointcal uses the standard refcat system, so you shouldn’t have to change anything compared to how processCcd works.

I think you need a config override to tell it to use the ps1_pv3_3pi_20170110 refcat.

yes, thanks. I just worked my way back and found where obs_subaru was doing that for me automatically.

So, what happened?

I cargo-culted some lines about refObjLoader into a config file and it looks like it ran and generated output! Now to see if the wcs is better…