singleFrameDriver.py No locations for get ref_cat

Hello,

I am trying to process HSC data running the hscPipe version 6. I follow the http://hsc.mtk.nao.ac.jp/pipedoc_5_e/tutorial_e/index.html tutorial, and I am stuck at the single-visit processing part. When I run :

singleFrameDriver.py input --calib CALIB --rerun test --id visit=17912 --batch-type=smp --cores=1

The processing works until it return :

    singleFrameDriver FATAL: Failed on dataId={'visit': 17912, 'field': 'SSP_DEEP_COSMOS', 'dateObs': '2015-01-16', 'pointing': 1111, 'filter': 'HSC-Z', 'ccd': 49, 'taiObs': '2015-01-16', 'expTime': 270.0}: NoResults: No locations for get: datasetType:ref_cat dataId:DataId(initialdata={'pixel_id': 'master_schema', 'name': 'ps1_pv3_3pi_20170110'}, tag=set())
Traceback (most recent call last):
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/cmdLineTask.py", line 408, in __call__
    result = task.run(dataRef, **kwargs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_drivers/6.0b7+1/python/lsst/pipe/drivers/singleFrameDriver.py", line 72, in run
    return self.processCcd.run(sensorRef)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/6.0-hsc/python/lsst/pipe/tasks/processCcd.py", line 199, in run
    icSourceCat=charRes.sourceCat,
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/6.0-hsc/python/lsst/pipe/tasks/calibrate.py", line 433, in run
    icSourceCat=icSourceCat,
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/6.0-hsc/python/lsst/pipe/tasks/calibrate.py", line 522, in calibrate
    sourceCat=sourceCat,
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_astrom/6.0b6-hsc+2/python/lsst/meas/astrom/astrometry.py", line 188, in run
    res = self.solve(exposure=exposure, sourceCat=sourceCat)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_astrom/6.0b6-hsc+2/python/lsst/meas/astrom/astrometry.py", line 214, in solve
    calib=expMd.calib,
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_algorithms/6.0b7+1/python/lsst/meas/algorithms/loadReferenceObjects.py", line 212, in loadPixelBox
    loadRes = self.loadSkyCircle(circle.coord, circle.radius, filterName)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/6.0-hsc/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_algorithms/6.0b7+1/python/lsst/meas/algorithms/loadIndexedReferenceObjects.py", line 76, in loadSkyCircle
    immediate=True)
  File "/opt/lsst/6.0/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/6.0b5-hsc+1/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 dataId:DataId(initialdata={'pixel_id': 'master_schema', 'name': 'ps1_pv3_3pi_20170110'}, tag=set())
root ERROR: 1 dataRefs failed; not exiting as --noExit was set

In my buttler directory, there is a ‘ref_cats’ directory where there is a symbolic link to the astrometric data ps1_pv3_3pi_20170110. Does something else need to be setup ?

Any help and advise would be really appreciated.
In advance, thanks.

Guillaume

The ref_cats directory should contain ps1_pv3_3pi_20170110, not actually be it. See the template path the butler’s expecting. So the tree should be something like:

/path/to/repo/
|-- various/
|-- directories/
|-- ref_cats/
    `-- ps1_pv3_3pi_20170110/
        |-- config.py
        |-- master_schema.fits
        |-- README.txt
        `-- <index>.fits

Thanks a lot,

The problem was apparently that the master_schema.fits was missing from my ps1_pv3_3pi_20170110 directory. Now the processing seems to work properly.

Thank you again !