Reducing Suprime-cam Data

Sorry, I started that branch a while ago, so it’s not compatible with the latest version of the stack (which you’re using). I’ve just now made the branch compatible with w_2018_11. You’ll need to git fetch && git reset --hard origin/tickets/DM-13148.

Let me know if you start using w_2018_12, as I’ll need to upgrade the branch again.

Thank you, Paul. That fixed it. I also had some issues specifying the mapper. Following the getting started tutorial, I run the command:
echo “lsst.obs.suprimecam.suprimecamMapper” > DATA/_mapper
and when I follow that up with:
ingestImages.py DATA $OBS_SUBARU_DIR/scam/raw/*.fits --mode=link
I get the following error:

Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/ingestImages.py", line 3, in <module>
    IngestTask.parseAndRun()
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingest.py", line 396, in parseAndRun
    args = parser.parse_args(config)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/argumentParser.py", line 566, in parse_args
    mapperClass = dafPersist.Butler.getMapperClass(namespace.input)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 1135, in getMapperClass
    return Storage.getMapperClass(root)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/storage.py", line 123, in getMapperClass
    ret = Storage.storages[parseRes.scheme].getMapperClass(uri)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/posixStorage.py", line 216, in getMapperClass
    pkg = importlib.import_module(".".join(components[:-1]))
  File "/opt/lsst/software/stack/python/miniconda3-4.3.21/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/home/lsst/obs_subaru/python/lsst/obs/subaru/__init__.py", line 27, in <module>
    from .version import *
ModuleNotFoundError: No module named 'lsst.obs.subaru.version'

This happens when trying to reduce data for both Suprimecam and HSC using obs_subaru. Do you have an idea of why? Thanks again, I really appreciate it!

You need to build your obs_subaru by running scons.

Notice also that SuprimecamMapper in your /path/to/DATA/_mapper file should have a leading capital S.

I was able to get the mapper set up and run ingestImages, but have been having trouble running ingestCalibs. Perhaps I am not using it correctly. I am receiving the error:

bash-4.2$ ingestCalibs.py DATA scam/CALIB/BIAS/*.fits --mode=link --validity 1000 --calibType bias
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/ingestCalibs.py'
CameraMapper INFO: Loading exposure registry from /home/lsst/DATA/registry.sqlite3
Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/ingestCalibs.py", line 3, in <module>
    IngestCalibsTask.parseAndRun()
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingest.py", line 398, in parseAndRun
    task.run(args)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingestCalibs.py", line 219, in run
    with self.register.openRegistry(calibRoot, create=args.create, dryrun=args.dryrun) as registry:
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingestCalibs.py", line 86, in openRegistry
    return RegisterTask.openRegistry(self, directory, create, dryrun, name)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingest.py", line 279, in openRegistry
    registryName = os.path.join(directory, name)
  File "/opt/lsst/software/stack/python/miniconda3-4.3.21/lib/python3.6/posixpath.py", line 78, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

I believe the problem is happening in

"/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/ingestCalibs.py", line 217

though I am not 100% sure.

ingestCalibs.py works on “master” calibs created by our code. Unless you’ve run constructBias.py, you’re probably pointing at raw data (which should have been ingested with ingestImages.py) or a master calib created by different code which may not have the expected headers.

In any case, you didn’t specify a calibration directory (with --calib) in which to put the ingested calibs, which I suspect is the problem causing the TypeError.

I’m not sure I understand how to get the reference catalog working. Following these instructions, I have grabbed the appropriate FITS files (plus config.py and README.txt), and have installed them into my data repository using
ln -s scam/ps1_pv3_3pi_20170110/ DATA/ref_cats/. I’ve also adjusted my configuration, adding

from lsst.meas.algorithms import LoadIndexedReferenceObjectsTask
config.calibrate.astromRefObjLoader.retarget(LoadIndexedReferenceObjectsTask)
config.calibrate.astromRefObjLoader.ref_dataset_name = "ps1_pv3_3pi_20170110"
config.calibrate.photoRefObjLoader.retarget(LoadIndexedReferenceObjectsTask)
config.calibrate.photoRefObjLoader.ref_dataset_name = "ps1_pv3_3pi_20170110"
config.calibrate.photoCal.photoCatName = "ps1_pv3_3pi_20170110"

to the existing config/processCcd.py in the obs_subaru package (I have also tried specifying it with as a seperate file with --configfile). Biases and flats are constructed and ingested. When I run
processCcd.py DATA --rerun processCcdOutput --id, I get the error:

bash-4.2$ processCcd.py DATA --rerun processCcdOutput --id
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/processCcd.py'
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/suprimecam/processCcd.py'
CameraMapper INFO: Loading exposure registry from /home/lsst/DATA/registry.sqlite3
CameraMapper INFO: Loading calib registry from /home/lsst/DATA/CALIB/calibRegistry.sqlite3
root INFO: Running: /opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/processCcd.py DATA --rerun processCcdOutput --id
Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/processCcd.py", line 25, in <module>
    ProcessCcdTask.parseAndRun()
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 586, in parseAndRun
    resultList = taskRunner.run(parsedCmd)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 233, in run
    if self.precall(parsedCmd):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 347, in precall
    task = self.makeTask(parsedCmd=parsedCmd)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 472, in makeTask
    return self.TaskClass(config=self.config, log=self.log, butler=butler)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/processCcd.py", line 161, in __init__
    astromRefObjLoader=astromRefObjLoader, photoRefObjLoader=photoRefObjLoader)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/task.py", line 299, in makeSubtask
    subtask = taskField.apply(name=name, parentTask=self, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pex_config/14.0-4-gae1598d+1/python/lsst/pex/config/configurableField.py", line 83, in apply
    return self.target(*args, config=self.value, **kw)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/calibrate.py", line 365, in __init__
    self.makeSubtask('astromRefObjLoader', butler=butler)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/task.py", line 299, in makeSubtask
    subtask = taskField.apply(name=name, parentTask=self, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pex_config/14.0-4-gae1598d+1/python/lsst/pex/config/configurableField.py", line 83, in apply
    return self.target(*args, config=self.value, **kw)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_algorithms/14.0-19-gbbfecc2c/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 "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 1412, 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': 'ps1_pv3_3pi_20170110'}, tag=set())

I searched the forums, but didn’t find anything involving errors with ref_cat_config. Also, when I am running processCcd.py should I only be running it on the object exposures (i.e. exclude the bias/flats/focusing)? Thank you!

You’ll also need the master_schema.fits file (which I think I neglected to mention in the README.txt file).

Can you list the contents of DATA/ref_cats for me (tree -l DATA/refcats)?

See also here for a similar question.

bash-4.2$ tree -l DATA/ref_cats/
DATA/ref_cats/
`-- ps1_pv3_3pi_20170110 -> scam/ps1_pv3_3pi_20170110

0 directories, 1 file

the contents of scam/ps1_pv3_3pi_20170110 are:

bash-4.2$ tree -l scam/ps1_pv3_3pi_20170110/
scam/ps1_pv3_3pi_20170110/
|-- 215042.fits
|-- 215049.fits
|-- 215050.fits
|-- 215051.fits
|-- 215052.fits
|-- 215053.fits
|-- 215055.fits
|-- 226305.fits
|-- 226310.fits
|-- 226318.fits
|-- README.txt
`-- config.py

0 directories, 12 files

Is the master_schema.fits specific to the FITS files chosen, or is it more generic?

I suspect that your link isn’t working. Try ln -s /full/path/to/scam/ps1_pv3_3pi_20170110 DATA/ref_cats, and verify the link with ls -l.

master_schema.fits is an element of the catalog format, so you need it regardless of which shard files you have.

Thank you. Specifying the full path and adding master_schema.fits fixed the ref_cat_config error, though now I am getting an error that processCcd.py is unable to retrieve bias for the given exposures. This is what I am getting:

bash-4.2$ processCcd.py DATA --rerun processCcdOutput --id field=N5846_1
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/processCcd.py'
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/suprimecam/processCcd.py'
CameraMapper INFO: Loading exposure registry from /home/lsst/DATA/registry.sqlite3
CameraMapper INFO: Loading calib registry from /home/lsst/DATA/CALIB/calibRegistry.sqlite3
root INFO: Running: /opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/processCcd.py DATA --rerun processCcdOutput --id field=N5846_1
processCcd INFO: Processing {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}
processCcd.isr INFO: Performing ISR on sensor {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}
daf.persistence.butler INFO: NoResults or IOError (continuing search) while evaluating bypass function for Dataset type:raw_md Data ID:DataId(initialdata={'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}, tag=set()) at location lsst.afw.image.DecoratedImageU at FitsStorage(N5846_1/2009-04-21/01937/W-S-G+/SUPA01090450.fits)
processCcd FATAL: Failed on dataId={'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}: RuntimeError: Unable to retrieve bias for {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}: No registry for lookup
Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/ip_isr/14.0-10-g2094653+11/python/lsst/ip/isr/isrTask.py", line 719, in getIsrExposure
    exp = dataRef.get(datasetType, immediate=immediate)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butlerSubset.py", line 198, in get
    return self.butlerSubset.butler.get(datasetType, self.dataId, **rest)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 1410, in get
    location = self._locate(datasetType, dataId, write=False)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 1329, in _locate
    location = repoData.repo.map(datasetType, dataId, write=write)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/repository.py", line 246, in map
    loc = self._mapper.map(*args, **kwargs)
  File "/home/lsst/obs_subaru/python/lsst/obs/suprimecam/suprimecamMapper.py", line 61, in map
    return super(SuprimecamMapperBase, self).map(datasetType, copyId, write=write)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/mapper.py", line 166, in map
    return func(self.validate(dataId), write)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/cameraMapper.py", line 389, in mapClosure
    return mapping.map(mapper, dataId, write)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/mapping.py", line 466, in map
    location = Mapping.map(self, mapper, dataId, write=write)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/mapping.py", line 158, in map
    actualId = self.need(iter(self.keyDict.keys()), dataId)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/mapping.py", line 322, in need
    lookups = self.lookup(newProps, newId)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/mapping.py", line 512, in lookup
    return Mapping.lookup(self, properties, newId)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/obs_base/14.0-28-gd4c92d7+3/python/lsst/obs/base/mapping.py", line 210, in lookup
    raise RuntimeError("No registry for lookup")
RuntimeError: No registry for lookup

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 408, in __call__
    result = task.run(dataRef, **kwargs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/processCcd.py", line 184, in run
    exposure = self.isr.runDataRef(sensorRef).exposure
  File "/home/lsst/obs_subaru/python/lsst/obs/subaru/isr.py", line 296, in runDataRef
    biasExposure = self.getIsrExposure(sensorRef, "bias")
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/ip_isr/14.0-10-g2094653+11/python/lsst/ip/isr/isrTask.py", line 722, in getIsrExposure
    raise RuntimeError("Unable to retrieve %s for %s: %s" % (datasetType, dataRef.dataId, exc1))
RuntimeError: Unable to retrieve bias for {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}: No registry for lookup

I’m a bit confused, as contructBias.py and ingestCalibs.py ran fine.

So what’s in the calibration registry? Please post the results of running:

sqlite3 /home/lsst/DATA/CALIB/calibRegistry.sqlite3
.header on
SELECT * FROM bias;

If that’s empty, please post the ingestCalibs.py command you used.

bash-4.2$ sqlite3 /home/lsst/DATA/CALIB/calibRegistry.sqlite3
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite> .header on
sqlite> SELECT * FROM bias;
id|filter|ccd|calibDate|validStart|validEnd
1|NONE|0|2009-04-21|2006-07-26|2012-01-16
2|NONE|1|2009-04-21|2006-07-26|2012-01-16
3|NONE|2|2009-04-21|2006-07-26|2012-01-16
4|NONE|3|2009-04-21|2006-07-26|2012-01-16
5|NONE|4|2009-04-21|2006-07-26|2012-01-16
6|NONE|5|2009-04-21|2006-07-26|2012-01-16
7|NONE|6|2009-04-21|2006-07-26|2012-01-16
8|NONE|7|2009-04-21|2006-07-26|2012-01-16
9|NONE|8|2009-04-21|2006-07-26|2012-01-16
10|NONE|9|2009-04-21|2006-07-26|2012-01-16

The ingestCalibs.py command I ran was:

ingestCalibs.py DATA --rerun n5846 --calib /home/lsst/DATA/CALIB --validity 1000 /home/lsst/DATA/rerun/n5846/BIAS/2009-04-21/NONE/BIAS-*.fits

Oh, maybe it’s not related to the calib registry, but pointing to it. Please try:

processCcd.py DATA --calib DATA/CALIB --rerun processCcdOutput --id field=N5846_1

That gives me:

bash-4.2$ processCcd.py DATA --calib DATA/CALIB --rerun processCcdOutput --id field=N5846_1
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/processCcd.py'
root INFO: Loading config overrride file '/home/lsst/obs_subaru/config/suprimecam/processCcd.py'
Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/bin/processCcd.py", line 25, in <module>
    ProcessCcdTask.parseAndRun()
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 581, in parseAndRun
    parsedCmd = argumentParser.parse_args(config=config, args=args, log=log, override=cls.applyOverrides)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/argumentParser.py", line 614, in parse_args
    namespace.butler = dafPersist.Butler(inputs=inputs, outputs=outputs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 521, in __init__
    self._getCfgs(repoDataList)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/daf_persistence/14.0-17-g2e0c876/python/lsst/daf/persistence/butler.py", line 821, in _getCfgs
    cfg, repoData.repoArgs))
RuntimeError: The RepositoryArgs and RepositoryCfg must match for writable repositories, RepositoryCfg:RepositoryCfg(root='/home/lsst/DATA/rerun/processCcdOutput', mapper=<class 'lsst.obs.suprimecam.suprimecamMapper.SuprimecamMapper'>, mapperArgs={}, parents=[RepositoryCfg(root='/home/lsst/DATA', mapper=<class 'lsst.obs.suprimecam.suprimecamMapper.SuprimecamMapper'>, mapperArgs={}, parents=[], policy=None)], policy=None), RepositoryArgs:RepositoryArgs(root='/home/lsst/DATA/rerun/processCcdOutput', cfgRoot=None, mapper=None, mapperArgs={'calibRoot': '/home/lsst/DATA/CALIB'}, tags=set(), mode='rw', policy=None)

That’s because the rerun was created with the old (presumably wrong) configuration. Kill it and start over.

rm -r DATA/rerun/processCcdOutput

That worked. Now I am getting:

processCcd FATAL: Failed on dataId={'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 0, 'taiObs': '2009-04-21', 'expTime': 460.0}: ColortermNotFoundError: No colorterm dict found with photoCatName 'ps1_pv3_3pi_20170110'
Traceback (most recent call last):
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/cmdLineTask.py", line 408, in __call__
    result = task.run(dataRef, **kwargs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/processCcd.py", line 199, in run
    icSourceCat=charRes.sourceCat,
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/calibrate.py", line 433, in run
    icSourceCat=icSourceCat,
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/calibrate.py", line 536, in calibrate
    photoRes = self.photoCal.run(exposure, sourceCat=sourceCat, expId=exposureIdInfo.expId)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/photoCal.py", line 471, in run
    arrays = self.extractMagArrays(matches=matches, filterName=filterName, sourceKeys=sourceKeys)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+58/python/lsst/pipe/base/timer.py", line 150, in wrapper
    res = func(self, *args, **keyArgs)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/photoCal.py", line 326, in extractMagArrays
    filterName=filterName, photoCatName=self.config.photoCatName, doRaise=True)
  File "/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_tasks/14.0-54-gb4e84373/python/lsst/pipe/tasks/colorterms.py", line 183, in getColorterm
    "No colorterm dict found with photoCatName %r" % photoCatName)
lsst.pipe.tasks.colorterms.ColortermNotFoundError: No colorterm dict found with photoCatName 'ps1_pv3_3pi_20170110'

I have added the code from this post to my config/processCcd.py (both the code under LSST-style format and common configuration). More specifically, I added:

config.calibrate.astromRefObjLoader.retarget(LoadIndexedReferenceObjectsTask)
config.calibrate.astromRefObjLoader.ref_dataset_name = "ps1_pv3_3pi_20170110"
config.calibrate.photoRefObjLoader.retarget(LoadIndexedReferenceObjectsTask)
config.calibrate.photoRefObjLoader.ref_dataset_name = "ps1_pv3_3pi_20170110"
config.calibrate.photoCal.photoCatName = "ps1_pv3_3pi_20170110"

and

colorterms = config.calibrate.photoCal.colorterms
from lsst.pipe.tasks.colorterms import ColortermDict, Colorterm
colorterms.data["ps1*"] = ColortermDict(data={
       'g': Colorterm(primary="g", secondary="r", c0=-0.00928, c1=-0.0824),
       'r': Colorterm(primary="r", secondary="i", c0=-0.00282, c1=-0.0498, c2=-0.0149),
       'i': Colorterm(primary="i", secondary="z", c0=0.00186, c1=-0.140, c2=-0.0196),
       'z': Colorterm(primary="z", secondary="i", c0=-4.03e-4, c1=0.0967, c2=0.0210),
       'B': Colorterm(primary="g", secondary="r", c0=0.02461907, c1=0.20098328, c2=0.00858468),
       'V': Colorterm(primary="g", secondary="r", c0=-0.03117934, c1=-0.63134136, c2=0.05056544),
       'R': Colorterm(primary="r", secondary="i", c0=-0.01179613, c1=-0.25403307, c2=0.00696479),
       'I': Colorterm(primary="i", secondary="r", c0=0.01078282, c1=0.26727768, c2=0.00747123),
})

the latter coming from obs_subaru/config/suprimecam/colorterms.py.

The color terms in obs_subaru/config/suprimecam/colorterms.py are for the SDSS catalog, not PS1.

I think you want to set calibrate.photoCal.applyColorTerms=False to disable the application of color terms.

I am now running into a segmentation fault in processCcd.py. The full error is (apologies for the giant block of text):

processCcd INFO: Processing {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 8, 'taiObs': '2009-04-21', 'expTime': 460.0}
processCcd.isr INFO: Performing ISR on sensor {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 8, 'taiObs': '2009-04-21', 'expTime': 460.0}
daf.persistence.butler INFO: NoResults or IOError (continuing search) while evaluating bypass function for Dataset type:raw_md Data ID:DataId(initialdata={'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 8, 'taiObs': '2009-04-21', 'expTime': 460.0}, tag=set()) at location lsst.afw.image.DecoratedImageU at FitsStorage(N5846_1/2009-04-21/01937/W-S-G+/SUPA01090458.fits)
processCcd.isr.crosstalk INFO: Applying crosstalk corrections to CCD 8 based on Yagi+2012
processCcd.isr INFO: Set 0 BAD pixels to 1855.65
processCcd.isr INFO: Adding a distortion model to the WCS
processCcd.isr INFO: Flattened sky level: 1855.938904 +/- 28.985080
processCcd.isr INFO: Measuring sky levels in 8x16 grids: 1854.532196
processCcd.isr INFO: Sky flatness in 8x16 grids - pp: 0.028817 rms: 0.005004
processCcd.isr INFO: Setting rough magnitude zero point: 35.656895
processCcd.charImage INFO: Processing {'field': 'N5846_1', 'dateObs': '2009-04-21', 'pointing': 1937, 'filter': 'W-S-G+', 'visit': 109045, 'ccd': 8, 'taiObs': '2009-04-21', 'expTime': 460.0}
processCcd.charImage WARN: Source catalog detected and measured with placeholder or default PSF
processCcd.charImage.repair INFO: Identified 1205 cosmic rays.
processCcd.charImage.detection INFO: Detected 1436 positive peaks in 345 footprints and 12 negative peaks in 4 footprints to 50 sigma
processCcd.charImage.detection INFO: Resubtracting the background after object detection
processCcd.charImage.measurement INFO: Measuring 345 sources (345 parents, 0 children)
Caught signal 11, backtrace follows:
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/utils/14.0-10-gaad1ee2+1/lib/libutils.so(+0x15214) [0x7f8d8288f214]
/lib64/libc.so.6(+0x35270) [0x7f8d8bca7270]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(+0xefb08) [0x7f8d1e6f1b08]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(Eigen::internal::general_matrix_matrix_triangular_product<long, double, 1, false, double, 0, false, 0, 2, 0>::run(long, long, double const*, long, double const*, long, double*, long, double const&)+0x430) [0x7f8d1e6f4920]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(lsst::meas::modelfit::Optimizer::_computeDerivatives()+0x1742) [0x7f8d1e6ea5b2]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(lsst::meas::modelfit::Optimizer::_stepImpl(int, lsst::meas::modelfit::OptimizerHistoryRecorder const*, lsst::afw::table::CatalogT<lsst::afw::table::BaseRecord>*)+0x1217) [0x7f8d1e6ef8b7]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(lsst::meas::modelfit::Optimizer::_runImpl(lsst::meas::modelfit::OptimizerHistoryRecorder const*, lsst::afw::table::CatalogT<lsst::afw::table::BaseRecord>*)+0x111) [0x7f8d1e6f06e1]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(+0x53afa) [0x7f8d1e655afa]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(lsst::meas::modelfit::CModelAlgorithm::_applyImpl(lsst::meas::modelfit::CModelResult&, lsst::afw::image::Exposure<float, int, float> const&, lsst::shapelet::MultiShapeletFunction const&, lsst::afw::geom::Point<double, 2> const&, lsst::afw::geom::ellipses::Quadrupole const&, double, double, int) const+0x888) [0x7f8d1e65f648]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/lib/libmeas_modelfit.so(lsst::meas::modelfit::CModelAlgorithm::measure(lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&) const+0x3fb) [0x7f8d1e6602db]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/python/lsst/meas/modelfit/cmodel/cmodel.so(void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, lsst::meas::modelfit::CModelAlgorithm, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(void (lsst::meas::modelfit::CModelAlgorithm::*)(lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&)#1}, void, lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(pybind11::cpp_function::initialize<void, lsst::meas::modelfit::CModelAlgorithm, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(void (lsst::meas::modelfit::CModelAlgorithm::*)(lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&)#1}&&, void (*)(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const+0xe2) [0x7f8d166e9ad2]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/python/lsst/meas/modelfit/cmodel/cmodel.so(void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, lsst::meas::modelfit::CModelAlgorithm, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(void (lsst::meas::modelfit::CModelAlgorithm::*)(lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&)#1}, void, lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(pybind11::cpp_function::initialize<void, lsst::meas::modelfit::CModelAlgorithm, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg>(void (lsst::meas::modelfit::CModelAlgorithm::*)(lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&)#1}&&, void (*)(lsst::meas::modelfit::CModelAlgorithm const*, lsst::afw::table::SourceRecord&, lsst::afw::image::Exposure<float, int, float> const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call)+0xe) [0x7f8d166e9c8e]
/opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/meas_modelfit/14.0-3-gda7b0c7+14/python/lsst/meas/modelfit/cmodel/cmodel.so(pybind11::cpp_function::dispatcher(_object*, _object*, _object*)+0xdc6) [0x7f8d166ee0e6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x102) [0x7f8d8cc25302]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyCFunction_FastCallDict+0x102) [0x7f8d8cc25302]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x14895b) [0x7f8d8ccaa95b]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x146514) [0x7f8d8cca8514]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x285) [0x7f8d8cca9515]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x285) [0x7f8d8cca9515]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_Call_Prepend+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x10c) [0x7f8d8cca939c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x10c) [0x7f8d8cca939c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_Call_Prepend+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x9f1a1) [0x7f8d8cc011a1]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x9f1a1) [0x7f8d8cc011a1]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x9f1a1) [0x7f8d8cc011a1]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x9f1a1) [0x7f8d8cc011a1]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x31cc) [0x7f8d8ccae2cc]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x9f1a1) [0x7f8d8cc011a1]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x10c) [0x7f8d8cca939c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x10c) [0x7f8d8cca939c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_Call_Prepend+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x3ec9) [0x7f8d8ccaefc9]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x146514) [0x7f8d8cca8514]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x285) [0x7f8d8cca9515]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x285) [0x7f8d8cca9515]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x166) [0x7f8d8cbcdce6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_Call_Prepend+0xcc) [0x7f8d8cbcdf3c]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyObject_Call+0x56) [0x7f8d8cbcdfd6]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0xe444f) [0x7f8d8cc4644f]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x9e) [0x7f8d8cbcdc1e]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x9e) [0x7f8d8cbcdc1e]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x142249) [0x7f8d8cca4249]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0xa520e) [0x7f8d8cc0720e]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0xa5668) [0x7f8d8cc07668]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0xda2ac) [0x7f8d8cc3c2ac]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x9e) [0x7f8d8cbcdc1e]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x9e) [0x7f8d8cbcdc1e]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x14895b) [0x7f8d8ccaa95b]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x146514) [0x7f8d8cca8514]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148c88) [0x7f8d8ccaac88]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x148b2a) [0x7f8d8ccaab2a]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0((null)+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x2c40) [0x7f8d8ccadd40]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(+0x147100) [0x7f8d8cca9100]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x63) [0x7f8d8cca9583]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyEval_EvalCode+0x3b) [0x7f8d8cca95cb]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyRun_FileExFlags+0x130) [0x7f8d8ccdbee0]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(PyRun_SimpleFileExFlags+0x173) [0x7f8d8ccdd4a3]
/opt/lsst/software/stack/python/miniconda3-4.3.21/bin/../lib/libpython3.6m.so.1.0(Py_Main+0xe25) [0x7f8d8ccf88d5]
python(main+0x16d) [0x400c1d]
/lib64/libc.so.6((null)+0xf5) [0x7f8d8bc93c05]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f8d8bc93c05]
python() [0x4009e9]
Segmentation fault

what’s particularly confusing for me is that the step it crashed on ran fine for 8 prior images, specifically 'ccd': 0-7. I found forum posts stating that most segfaults are due to a mismatch of library versions, so I verified my versions (obs_subaru DM-13148, LSST stack 7-stack-lsst_distrib-w_2018_11).

Most often segfaults are due to mismatched versions, but there are other possibilities. What setup commands have you run, and what packages have you built personally?
Can you run processCcd.py under gdb (e.g., gdb --args $(which python) $(which processCcd.py) ...) and get a backtrace?

I’m not sure what happened, but in the process of making a new docker container with the correct permissions to run gdb, the segfault was fixed and processCcd.py ran all the way through. I assume starting over fixed any library mismatches.