Gbdes is a package for WCS-fitting (https://github.com/gbernstein/gbdes, https://iopscience.iop.org/article/10.1088/1538-3873/aa6c55/pdf). It was developed by Gary Bernstein for DECam. The main codebase is in C++. This will be used in a pipeline task that aims to be a drop-in replacement for jointcal (
DM-31226), though we plan to use it in other configurations as well.
Tests on HSC data have shown that gbdes produces results equivalent to jointcal when the same astrometric models are used. However, gbdes provides a significant speed-up over jointcal. In contrast to jointcal, it can fit the proper motions of stars, and has more flexibility with regard to the types and combinations of astrometric models.
Following lots of discussion with Gary Bernstein and members of the DM team, I have added a Python wrapper using pybind11 and a new cmake build system. We opted to use a cmake build so that the package can still be used easily outside this organization. We decided to keep these additions on a fork that will be part of the LSST organization on GitHub if this RFC is approved (currently at https://github.com/cmsaunders/gbdes/tree/gaiadr2). This path was taken because it was decided that it would be simpler for DM to maintain the code going forward, and Gary does not anticipate making upstream changes.