import lsst.fgcmcal.fgcmCalibrateTract
assert type(config)==lsst.fgcmcal.fgcmCalibrateTract.FgcmCalibrateTractConfig, 'config is of type %s.%s instead of lsst.fgcmcal.fgcmCalibrateTract.FgcmCalibrateTractConfig' % (type(config).__module__, type(config).__name__)
import lsst.fgcmcal.fgcmBuildStars
import lsst.meas.algorithms.indexerRegistry
import lsst.meas.astrom.directMatch
import lsst.fgcmcal.sedterms
import lsst.meas.algorithms.matcherSourceSelector
import lsst.fgcmcal.fgcmLoadReferenceCatalog
import lsst.meas.algorithms.astrometrySourceSelector
import lsst.pipe.tasks.photoCal
import lsst.meas.algorithms.objectSizeStarSelector
import lsst.meas.algorithms.loadIndexedReferenceObjects
import lsst.meas.algorithms.sourceSelector
import lsst.fgcmcal.fgcmFitCycle
import lsst.meas.algorithms.flaggedSourceSelector
import lsst.meas.algorithms.ingestIndexReferenceTask
import lsst.fgcmcal.fgcmOutputProducts
import lsst.meas.algorithms.reserveSourcesTask
import lsst.pipe.tasks.colorterms
# Faull name of the source instFlux field to use, including 'instFlux'. The associated flag will be implicitly included in badFlags
config.fgcmBuildStars.instFluxField='slot_CalibFlux_instFlux'

# Minimum observations per band
config.fgcmBuildStars.minPerBand=2

# Match radius (arcseconds)
config.fgcmBuildStars.matchRadius=1.0

# Isolation radius (arcseconds)
config.fgcmBuildStars.isolationRadius=2.0

# Density cut healpix nside
config.fgcmBuildStars.densityCutNside=128

# Density cut number of stars per pixel
config.fgcmBuildStars.densityCutMaxPerPixel=2000

# Healpix Nside for matching
config.fgcmBuildStars.matchNside=4096

# Healpix coarse Nside for partitioning matches
config.fgcmBuildStars.coarseNside=8

# Mapping from 'filterName' to band.
config.fgcmBuildStars.filterMap={'g': 'g', 'r': 'r', 'r2': 'r', 'i': 'i', 'i2': 'i', 'z': 'z', 'y': 'y', 'N387': 'N387', 'N816': 'N816', 'N921': 'N921', 'N1010': 'N1010'}

# Bands required for each star
config.fgcmBuildStars.requiredBands=[]

# Bands for 'primary' star matches. A star must be observed in one of these bands to be considered as a calibration star.
config.fgcmBuildStars.primaryBands=['i', 'r', 'g', 'z', 'y', 'N387', 'N816', 'N921', 'N1010']

# dataRef name for the 'visit' field, usually 'visit'.
config.fgcmBuildStars.visitDataRefName='visit'

# dataRef name for the 'ccd' field, usually 'ccd' or 'detector'.
config.fgcmBuildStars.ccdDataRefName='ccd'

# Apply the jacobian of the WCS to the star observations prior to fit?
config.fgcmBuildStars.doApplyWcsJacobian=True

# Name of field with psf candidate flag for propagation
config.fgcmBuildStars.psfCandidateName='calib_psf_candidate'

# Subtract the local background before performing calibration? This is only supported for circular aperture calibration fluxes.
config.fgcmBuildStars.doSubtractLocalBackground=True

# Full name of the local background instFlux field to use.
config.fgcmBuildStars.localBackgroundFluxField='base_LocalBackground_instFlux'

# Apply flux limit?
config.fgcmBuildStars.sourceSelector['science'].doFluxLimit=False

# Apply flag limitation?
config.fgcmBuildStars.sourceSelector['science'].doFlags=True

# Apply unresolved limitation?
config.fgcmBuildStars.sourceSelector['science'].doUnresolved=True

# Apply signal-to-noise limit?
config.fgcmBuildStars.sourceSelector['science'].doSignalToNoise=True

# Apply isolated limitation?
config.fgcmBuildStars.sourceSelector['science'].doIsolated=True

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['science'].fluxLimit.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['science'].fluxLimit.maximum=None

# Name of the source flux field to use.
config.fgcmBuildStars.sourceSelector['science'].fluxLimit.fluxField='slot_CalibFlux_instFlux'

# List of source flag fields that must be set for a source to be used.
config.fgcmBuildStars.sourceSelector['science'].flags.good=[]

# List of source flag fields that must NOT be set for a source to be used.
config.fgcmBuildStars.sourceSelector['science'].flags.bad=['base_PixelFlags_flag_edge', 'base_PixelFlags_flag_interpolatedCenter', 'base_PixelFlags_flag_saturatedCenter', 'base_PixelFlags_flag_crCenter', 'base_PixelFlags_flag_bad', 'base_PixelFlags_flag_interpolated', 'base_PixelFlags_flag_saturated', 'slot_Centroid_flag', 'slot_CalibFlux_flag']

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['science'].unresolved.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['science'].unresolved.maximum=0.5

# Name of column for star/galaxy separation
config.fgcmBuildStars.sourceSelector['science'].unresolved.name='base_ClassificationExtendedness_value'

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['science'].signalToNoise.minimum=10.0

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['science'].signalToNoise.maximum=1000.0

# Name of the source flux field to use.
config.fgcmBuildStars.sourceSelector['science'].signalToNoise.fluxField='slot_CalibFlux_instFlux'

# Name of the source flux error field to use.
config.fgcmBuildStars.sourceSelector['science'].signalToNoise.errField='slot_CalibFlux_instFluxErr'

# Name of column for parent
config.fgcmBuildStars.sourceSelector['science'].isolated.parentName='parent'

# Name of column for nChild
config.fgcmBuildStars.sourceSelector['science'].isolated.nChildName='deblend_nChild'

# Apply magnitude limit?
config.fgcmBuildStars.sourceSelector['references'].doMagLimit=False

# Apply flag limitation?
config.fgcmBuildStars.sourceSelector['references'].doFlags=False

# Apply unresolved limitation?
config.fgcmBuildStars.sourceSelector['references'].doUnresolved=False

# Apply signal-to-noise limit?
config.fgcmBuildStars.sourceSelector['references'].doSignalToNoise=False

# Apply magnitude error limit?
config.fgcmBuildStars.sourceSelector['references'].doMagError=False

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['references'].magLimit.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['references'].magLimit.maximum=None

# Name of the source flux field to use.
config.fgcmBuildStars.sourceSelector['references'].magLimit.fluxField='flux'

# List of source flag fields that must be set for a source to be used.
config.fgcmBuildStars.sourceSelector['references'].flags.good=[]

# List of source flag fields that must NOT be set for a source to be used.
config.fgcmBuildStars.sourceSelector['references'].flags.bad=[]

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['references'].unresolved.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['references'].unresolved.maximum=0.5

# Name of column for star/galaxy separation
config.fgcmBuildStars.sourceSelector['references'].unresolved.name='base_ClassificationExtendedness_value'

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['references'].signalToNoise.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['references'].signalToNoise.maximum=None

# Name of the source flux field to use.
config.fgcmBuildStars.sourceSelector['references'].signalToNoise.fluxField='flux'

# Name of the source flux error field to use.
config.fgcmBuildStars.sourceSelector['references'].signalToNoise.errField='flux_err'

# Select objects with value greater than this
config.fgcmBuildStars.sourceSelector['references'].magError.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.sourceSelector['references'].magError.maximum=None

# Name of the source flux error field to use.
config.fgcmBuildStars.sourceSelector['references'].magError.magErrField='mag_err'

config.fgcmBuildStars.sourceSelector['references'].colorLimits={}
# Apply flux limit to Psf Candidate selection?
config.fgcmBuildStars.sourceSelector['objectSize'].doFluxLimit=True

# specify the minimum psfFlux for good Psf Candidates
config.fgcmBuildStars.sourceSelector['objectSize'].fluxMin=12500.0

# specify the maximum psfFlux for good Psf Candidates (ignored if == 0)
config.fgcmBuildStars.sourceSelector['objectSize'].fluxMax=0.0

# Apply signal-to-noise (i.e. flux/fluxErr) limit to Psf Candidate selection?
config.fgcmBuildStars.sourceSelector['objectSize'].doSignalToNoiseLimit=False

# specify the minimum signal-to-noise for good Psf Candidates
config.fgcmBuildStars.sourceSelector['objectSize'].signalToNoiseMin=20.0

# specify the maximum signal-to-noise for good Psf Candidates (ignored if == 0)
config.fgcmBuildStars.sourceSelector['objectSize'].signalToNoiseMax=0.0

# minimum width to include in histogram
config.fgcmBuildStars.sourceSelector['objectSize'].widthMin=0.0

# maximum width to include in histogram
config.fgcmBuildStars.sourceSelector['objectSize'].widthMax=10.0

# Name of field in Source to use for flux measurement
config.fgcmBuildStars.sourceSelector['objectSize'].sourceFluxField='base_GaussianFlux_instFlux'

# Standard deviation of width allowed to be interpreted as good stars
config.fgcmBuildStars.sourceSelector['objectSize'].widthStdAllowed=0.15

# Keep objects within this many sigma of cluster 0's median
config.fgcmBuildStars.sourceSelector['objectSize'].nSigmaClip=2.0

# List of flags which cause a source to be rejected as bad
config.fgcmBuildStars.sourceSelector['objectSize'].badFlags=['base_PixelFlags_flag_edge', 'base_PixelFlags_flag_interpolatedCenter', 'base_PixelFlags_flag_saturatedCenter', 'base_PixelFlags_flag_crCenter', 'base_PixelFlags_flag_bad', 'base_PixelFlags_flag_interpolated']

# Name of a flag field that is True for Sources that should be used.
config.fgcmBuildStars.sourceSelector['flagged'].field='calib_psf_used'

# List of flags which cause a source to be rejected as bad
config.fgcmBuildStars.sourceSelector['astrometry'].badFlags=['base_PixelFlags_flag_edge', 'base_PixelFlags_flag_interpolatedCenter', 'base_PixelFlags_flag_saturatedCenter', 'base_PixelFlags_flag_crCenter', 'base_PixelFlags_flag_bad']

# Type of source flux; typically one of Ap or Psf
config.fgcmBuildStars.sourceSelector['astrometry'].sourceFluxType='Ap'

# Minimum allowed signal-to-noise ratio for sources used for matching (in the flux specified by sourceFluxType); <= 0 for no limit
config.fgcmBuildStars.sourceSelector['astrometry'].minSnr=10.0

# Type of source flux; typically one of Ap or Psf
config.fgcmBuildStars.sourceSelector['matcher'].sourceFluxType='Ap'

# Minimum allowed signal-to-noise ratio for sources used for matching (in the flux specified by sourceFluxType); <= 0 for no limit
config.fgcmBuildStars.sourceSelector['matcher'].minSnr=40.0

# Exclude objects that have saturated, interpolated, or edge pixels using PixelFlags. For matchOptimisticB set this to False to recover previous matcher selector behavior.
config.fgcmBuildStars.sourceSelector['matcher'].excludePixelFlags=True

config.fgcmBuildStars.sourceSelector.name='science'
# Full name of instFlux field that contains inner aperture flux for aperture correction proxy
config.fgcmBuildStars.apertureInnerInstFluxField='base_CircularApertureFlux_12_0_instFlux'

# Full name of instFlux field that contains outer aperture flux for aperture correction proxy
config.fgcmBuildStars.apertureOuterInstFluxField='base_CircularApertureFlux_17_0_instFlux'

# Match reference catalog as additional constraint on calibration
config.fgcmBuildStars.doReferenceMatches=True

# Padding to add to 4 all edges of the bounding box (pixels)
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.pixelMargin=300

# Default reference catalog filter to use if filter not specified in exposure; if blank then filter must be specified in exposure.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.defaultFilter=''

# Always use this reference catalog filter, no matter whether or what filter name is supplied to the loader. Effectively a trivial filterMap: map all filter names to this filter. This can be set for purely-astrometric catalogs (e.g. Gaia DR2) where there is only one reasonable choice for every camera filter->refcat mapping, but not for refcats used for photometry, which need a filterMap and/or colorterms/transmission corrections.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.anyFilterMapsToThis=None

# Mapping of camera filter name: reference catalog filter name; each reference filter must exist in the refcat. Note that this does not perform any bandpass corrections: it is just a lookup.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.filterMap={}

# Require that the fields needed to correct proper motion (epoch, pm_ra and pm_dec) are present?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.requireProperMotion=False

# Name of the ingested reference dataset
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refObjLoader.ref_dataset_name='ps1_pv3_3pi_20170110'

# Mapping from camera 'filterName' to reference filter name.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.refFilterMap={'g': 'g', 'r': 'r', 'r2': 'r', 'i': 'i', 'i2': 'i', 'z': 'z', 'y': 'y', 'N387': 'g', 'N816': 'i', 'N921': 'z', 'N1010': 'y'}

# Apply photometric color terms to reference stars?Requires that colorterms be set to a ColorTermLibrary
config.fgcmBuildStars.fgcmLoadReferenceCatalog.applyColorTerms=True

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data={}
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*']=lsst.pipe.tasks.colorterms.ColortermDict()
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data={}
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['g'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['r'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['i'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['z'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['y'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-G'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-R'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-I'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Z'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y'].c0=0.0

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y'].c1=0.0

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['hsc*'].data['HSC-Y'].c2=0.0

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*']=lsst.pipe.tasks.colorterms.ColortermDict()
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data={}
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g'].c0=-0.009777

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g'].c1=-0.077235

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['g'].c2=-0.013121

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r'].c0=-0.000711

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r'].c1=-0.006847

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r'].c2=-0.03511

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2'].c0=-0.000632

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2'].c1=-0.011237

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['r2'].c2=-0.038169

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i'].c0=0.000357

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i'].c1=-0.15329

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i'].c2=-0.009277

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2'].c0=0.001278

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2'].c1=-0.213569

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['i2'].c2=-0.012523

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z'].c0=-0.005761

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z'].c1=0.001317

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['z'].c2=-0.035334

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y'].c0=0.003386

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y'].c1=0.428877

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['y'].c2=0.076738

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945'].c0=0.008117

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945'].c1=0.234991

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['I945'].c2=-0.042255

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387'].primary='u'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387'].c0=-0.709229

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387'].c1=0.310719

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N387'].c2=-0.044107

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400'].primary='u'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400'].c0=-0.396264

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400'].c1=-0.395133

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N400'].c2=0.038688

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468'].c0=-0.059159

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468'].c1=-0.030881

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N468'].c2=0.015356

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515'].c0=-0.03251

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515'].c1=-0.35444

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N515'].c2=0.100832

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527'].c0=-0.0294

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527'].c1=-0.453037

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N527'].c2=0.020922

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656'].c0=0.037014

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656'].c1=-0.538947

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N656'].c2=0.052489

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718'].c0=-0.014742

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718'].c1=-0.787571

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N718'].c2=0.237867

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816'].c0=0.012676

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816'].c1=-0.660317

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N816'].c2=0.055566

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921'].c0=0.004619

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921'].c1=0.093019

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N921'].c2=-0.126377

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926'].c0=0.009369

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926'].c1=0.130261

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N926'].c2=-0.119282

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973'].c0=-0.005805

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973'].c1=0.220412

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N973'].c2=-0.249072

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010'].c0=0.015296

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010'].c1=0.794152

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['N1010'].c2=0.465309

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G'].c0=-0.009777

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G'].c1=-0.077235

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-G'].c2=-0.013121

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R'].c0=-0.000711

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R'].c1=-0.006847

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R'].c2=-0.03511

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2'].c0=-0.000632

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2'].c1=-0.011237

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-R2'].c2=-0.038169

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I'].c0=0.000357

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I'].c1=-0.15329

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I'].c2=-0.009277

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2'].c0=0.001278

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2'].c1=-0.213569

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-I2'].c2=-0.012523

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z'].c0=-0.005761

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z'].c1=0.001317

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-Z'].c2=-0.035334

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y'].c0=0.003386

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y'].c1=0.428877

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['HSC-y'].c2=0.076738

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945'].c0=0.008117

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945'].c1=0.234991

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['IB0945'].c2=-0.042255

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387'].primary='u'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387'].c0=-0.709229

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387'].c1=0.310719

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0387'].c2=-0.044107

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400'].primary='u'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400'].secondary='g'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400'].c0=-0.396264

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400'].c1=-0.395133

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0400'].c2=0.038688

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468'].c0=-0.059159

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468'].c1=-0.030881

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0468'].c2=0.015356

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515'].c0=-0.03251

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515'].c1=-0.35444

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0515'].c2=0.100832

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527'].c0=-0.0294

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527'].c1=-0.453037

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0527'].c2=0.020922

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656'].c0=0.037014

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656'].c1=-0.538947

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0656'].c2=0.052489

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718'].c0=-0.014742

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718'].c1=-0.787571

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0718'].c2=0.237867

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816'].c0=0.012676

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816'].c1=-0.660317

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0816'].c2=0.055566

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921'].c0=0.004619

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921'].c1=0.093019

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0921'].c2=-0.126377

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926'].c0=0.009369

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926'].c1=0.130261

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0926'].c2=-0.119282

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973'].c0=-0.005805

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973'].c1=0.220412

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB0973'].c2=-0.249072

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010'].c0=0.015296

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010'].c1=0.794152

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['sdss*'].data['NB01010'].c2=0.465309

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*']=lsst.pipe.tasks.colorterms.ColortermDict()
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data={}
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g'].c0=0.005728

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g'].c1=0.061749

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['g'].c2=-0.001125

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r'].c0=-0.000144

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r'].c1=0.001369

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r'].c2=-0.00838

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2'].c0=-3.2e-05

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2'].c1=-0.002866

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['r2'].c2=-0.012638

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i'].c0=0.000643

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i'].c1=-0.130078

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i'].c2=-0.006855

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2'].c0=0.001625

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2'].c1=-0.200406

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['i2'].c2=-0.013666

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z'].c0=-0.005362

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z'].c1=-0.221551

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['z'].c2=-0.308279

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y'].c0=-0.002055

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y'].c1=0.20968

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['y'].c2=0.227296

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945'].c0=0.005275

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945'].c1=-0.194285

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['I945'].c2=-0.125424

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387'].c0=0.427879

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387'].c1=1.869068

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N387'].c2=0.54058

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400'].c0=0.176542

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400'].c1=1.127055

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N400'].c2=0.505502

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468'].c0=-0.04224

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468'].c1=0.121756

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N468'].c2=0.027599

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515'].c0=-0.021913

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515'].c1=-0.253159

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N515'].c2=0.151553

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527'].c0=-0.020641

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527'].c1=-0.366167

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N527'].c2=0.038497

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656'].c0=0.035655

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656'].c1=-0.512046

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N656'].c2=0.042796

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718'].c0=-0.016294

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718'].c1=-0.233139

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N718'].c2=0.252505

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816'].c0=0.013806

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816'].c1=-0.717681

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N816'].c2=0.049289

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921'].c0=0.002039

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921'].c1=-0.477412

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N921'].c2=-0.492151

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926'].c0=0.00523

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926'].c1=-0.574448

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N926'].c2=-0.330899

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973'].c0=-0.007775

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973'].c1=-0.050972

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N973'].c2=-0.197278

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010'].c0=0.003607

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010'].c1=0.865366

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['N1010'].c2=1.271817

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G'].c0=0.005728

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G'].c1=0.061749

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-G'].c2=-0.001125

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R'].c0=-0.000144

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R'].c1=0.001369

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R'].c2=-0.00838

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2'].c0=-3.2e-05

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2'].c1=-0.002866

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-R2'].c2=-0.012638

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I'].c0=0.000643

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I'].c1=-0.130078

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I'].c2=-0.006855

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2'].c0=0.001625

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2'].c1=-0.200406

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-I2'].c2=-0.013666

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z'].c0=-0.005362

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z'].c1=-0.221551

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Z'].c2=-0.308279

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y'].c0=-0.002055

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y'].c1=0.20968

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['HSC-Y'].c2=0.227296

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945'].c0=0.005275

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945'].c1=-0.194285

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['IB0945'].c2=-0.125424

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387'].c0=0.427879

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387'].c1=1.869068

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0387'].c2=0.54058

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400'].c0=0.176542

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400'].c1=1.127055

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0400'].c2=0.505502

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468'].c0=-0.04224

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468'].c1=0.121756

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0468'].c2=0.027599

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515'].c0=-0.021913

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515'].c1=-0.253159

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0515'].c2=0.151553

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527'].primary='g'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527'].c0=-0.020641

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527'].c1=-0.366167

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0527'].c2=0.038497

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656'].primary='r'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656'].secondary='i'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656'].c0=0.035655

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656'].c1=-0.512046

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0656'].c2=0.042796

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718'].secondary='r'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718'].c0=-0.016294

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718'].c1=-0.233139

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0718'].c2=0.252505

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816'].primary='i'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816'].c0=0.013806

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816'].c1=-0.717681

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0816'].c2=0.049289

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921'].c0=0.002039

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921'].c1=-0.477412

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0921'].c2=-0.492151

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926'].primary='z'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926'].secondary='y'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926'].c0=0.00523

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926'].c1=-0.574448

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0926'].c2=-0.330899

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973'].c0=-0.007775

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973'].c1=-0.050972

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB0973'].c2=-0.197278

config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010']=lsst.pipe.tasks.colorterms.Colorterm()
# name of primary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010'].primary='y'

# name of secondary filter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010'].secondary='z'

# Constant parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010'].c0=0.003607

# First-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010'].c1=0.865366

# Second-order parameter
config.fgcmBuildStars.fgcmLoadReferenceCatalog.colorterms.data['ps1*'].data['NB01010'].c2=1.271817

# Apply magnitude limit?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.doMagLimit=False

# Apply flag limitation?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.doFlags=False

# Apply unresolved limitation?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.doUnresolved=False

# Apply signal-to-noise limit?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.doSignalToNoise=True

# Apply magnitude error limit?
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.doMagError=False

# Select objects with value greater than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magLimit.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magLimit.maximum=None

# Name of the source flux field to use.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magLimit.fluxField='flux'

# List of source flag fields that must be set for a source to be used.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.flags.good=[]

# List of source flag fields that must NOT be set for a source to be used.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.flags.bad=[]

# Select objects with value greater than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.unresolved.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.unresolved.maximum=0.5

# Name of column for star/galaxy separation
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.unresolved.name='base_ClassificationExtendedness_value'

# Select objects with value greater than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.signalToNoise.minimum=10.0

# Select objects with value less than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.signalToNoise.maximum=None

# Name of the source flux field to use.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.signalToNoise.fluxField='i_flux'

# Name of the source flux error field to use.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.signalToNoise.errField='i_fluxErr'

# Select objects with value greater than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magError.minimum=None

# Select objects with value less than this
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magError.maximum=None

# Name of the source flux error field to use.
config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.magError.magErrField='mag_err'

config.fgcmBuildStars.fgcmLoadReferenceCatalog.referenceSelector.colorLimits={}
# Number of visits read between checkpoints
config.fgcmBuildStars.nVisitsPerCheckpoint=500

# Reference CCD for scanning visits
config.fgcmBuildStars.referenceCCD=13

# Check repo for all CCDs for each visit specified.  To be used when the full set of ids (visit/ccd) are not specified on the command line.  For Gen2, specifying one ccd and setting checkAllCcds=True is significantly faster than the alternatives.
config.fgcmBuildStars.checkAllCcds=False

# Bands to run calibration
config.fgcmFitCycle.bands=['N387', 'g', 'r', 'i', 'N816', 'z', 'N921', 'y', 'N1010']

# Bands to use in atmospheric fit. The bands not listed here will have the atmosphere constrained from the 'fitBands' on the same night. Must be a subset of `config.bands`
config.fgcmFitCycle.fitBands=['N387', 'g', 'r', 'i', 'N816', 'z', 'N921', 'y', 'N1010']

# Bands that are required for a star to be considered a calibration star. Must be a subset of `config.bands`
config.fgcmFitCycle.requiredBands=[]

# Mapping from 'filterName' to band.
config.fgcmFitCycle.filterMap={'g': 'g', 'r': 'r', 'r2': 'r', 'i': 'i', 'i2': 'i', 'z': 'z', 'y': 'y', 'N387': 'N387', 'N816': 'N816', 'N921': 'N921', 'N1010': 'N1010'}

# Use reference catalog as additional constraint on calibration
config.fgcmFitCycle.doReferenceCalibration=True

# Reference star signal-to-noise minimum to use in calibration.  Set to <=0 for no cut.
config.fgcmFitCycle.refStarSnMin=50.0

# Number of sigma compared to average mag for reference star to be considered an outlier. Computed per-band, and if it is an outlier in any band it is rejected from fits.
config.fgcmFitCycle.refStarOutlierNSig=4.0

# Apply color cuts to reference stars?
config.fgcmFitCycle.applyRefStarColorCuts=True

# Number of cores to use
config.fgcmFitCycle.nCore=4

# Number of stars to run in each chunk
config.fgcmFitCycle.nStarPerRun=200000

# Number of exposures to run in each chunk
config.fgcmFitCycle.nExpPerRun=1000

# Fraction of stars to reserve for testing
config.fgcmFitCycle.reserveFraction=0.1

# Freeze atmosphere parameters to standard (for testing)
config.fgcmFitCycle.freezeStdAtmosphere=True

# Precompute superstar flat for initial cycle
config.fgcmFitCycle.precomputeSuperStarInitialCycle=True

# Per-band specification on whether to compute superstar flat on sub-ccd scale. Must have one entry per band.
config.fgcmFitCycle.superStarSubCcdDict={'N387': False, 'g': True, 'r': True, 'i': True, 'N816': True, 'z': True, 'N921': True, 'y': True, 'N1010': False}

# Order of the 2D chebyshev polynomials for sub-ccd superstar fit. Global default is first-order polynomials, and should be overridden on a camera-by-camera basis depending on the ISR.
config.fgcmFitCycle.superStarSubCcdChebyshevOrder=2

# Should the sub-ccd superstar chebyshev matrix be triangular to suppress high-order cross terms?
config.fgcmFitCycle.superStarSubCcdTriangular=False

# Number of sigma to clip outliers when selecting for superstar flats
config.fgcmFitCycle.superStarSigmaClip=5.0

# Number of sigma to clip outliers per focal-plane.
config.fgcmFitCycle.focalPlaneSigmaClip=4.0

# Per-band specification on whether to compute achromatic per-ccd residual ('ccd gray') on a sub-ccd scale.
config.fgcmFitCycle.ccdGraySubCcdDict={'N387': False, 'g': True, 'r': True, 'i': True, 'N816': True, 'z': True, 'N921': True, 'y': True, 'N1010': False}

# Order of the 2D chebyshev polynomials for sub-ccd gray fit.
config.fgcmFitCycle.ccdGraySubCcdChebyshevOrder=1

# Should the sub-ccd gray chebyshev matrix be triangular to suppress high-order cross terms?
config.fgcmFitCycle.ccdGraySubCcdTriangular=True

# Per-band specification on whether to compute focal-plane residual ('ccd gray') corrections.
config.fgcmFitCycle.ccdGrayFocalPlaneDict={'N387': True, 'g': True, 'r': True, 'i': True, 'N816': True, 'z': True, 'N921': True, 'y': True, 'N1010': True}

# Minimum number of 'good' CCDs required to perform focal-plane gray corrections.  If there are fewer good CCDs then the gray correction is computed per-ccd.
config.fgcmFitCycle.ccdGrayFocalPlaneFitMinCcd=50

# Order of the 2D chebyshev polynomials for focal plane fit.
config.fgcmFitCycle.ccdGrayFocalPlaneChebyshevOrder=3

# FGCM fit cycle number.  This is automatically incremented after each run and stage of outlier rejection.  See cookbook for details.
config.fgcmFitCycle.cycleNumber=0

# Is this the final cycle of the fitting?  Will automatically compute final selection of stars and photometric exposures, and will output zeropoints and standard stars for use in fgcmOutputProducts
config.fgcmFitCycle.isFinalCycle=False

# Maximum fit iterations, prior to final cycle.  The number of iterations will always be 0 in the final cycle for cleanup and final selection.
config.fgcmFitCycle.maxIterBeforeFinalCycle=75

# Percentile brightest stars on a visit/ccd to use to compute net offset from local background subtraction.
config.fgcmFitCycle.deltaMagBkgOffsetPercentile=0.25

# Compute net offset from local background subtraction per-ccd? Otherwise, use computation per visit.
config.fgcmFitCycle.deltaMagBkgPerCcd=False

# Boundary (in UTC) from day-to-day
config.fgcmFitCycle.utBoundary=0.0

# Mirror wash MJDs
config.fgcmFitCycle.washMjds=[56650.0, 57500.0, 57700.0, 58050.0]

# Epoch boundaries in MJD
config.fgcmFitCycle.epochMjds=[56650.0, 57420.0, 57606.0, 59000.0]

# Minimum good observations per band
config.fgcmFitCycle.minObsPerBand=2

# Observatory latitude
config.fgcmFitCycle.latitude=19.8256

# Maximum gray extinction to be considered bright observation
config.fgcmFitCycle.brightObsGrayMax=0.15

# Minimum number of good stars per CCD to be used in calibration fit. CCDs with fewer stars will have their calibration estimated from other CCDs in the same visit, with zeropoint error increased accordingly.
config.fgcmFitCycle.minStarPerCcd=5

# Minimum number of good CCDs per exposure/visit to be used in calibration fit. Visits with fewer good CCDs will have CCD zeropoints estimated where possible.
config.fgcmFitCycle.minCcdPerExp=5

# Maximum error on CCD gray offset to be considered photometric
config.fgcmFitCycle.maxCcdGrayErr=0.05

# Minimum number of good stars per exposure/visit to be used in calibration fit. Visits with fewer good stars will have CCD zeropoints estimated where possible.
config.fgcmFitCycle.minStarPerExp=100

# Minimum number of good exposures/visits to consider a partly photometric night
config.fgcmFitCycle.minExpPerNight=3

# Maximum exposure/visit gray value for initial selection of possible photometric observations.
config.fgcmFitCycle.expGrayInitialCut=-0.25

# Per-band specification on maximum (negative) achromatic exposure residual ('gray term') for a visit to be considered photometric.  Must have one entry per band. Broad-band filters should be -0.05.
config.fgcmFitCycle.expGrayPhotometricCutDict={'N387': -0.05, 'g': -0.05, 'r': -0.05, 'i': -0.05, 'N816': -0.05, 'z': -0.05, 'N921': -0.05, 'y': -0.05, 'N1010': -0.05}

# Per-band specification on maximum (positive) achromatic exposure residual ('gray term') for a visit to be considered photometric.  Must have one entry per band.  Broad-band filters should be 0.2.
config.fgcmFitCycle.expGrayHighCutDict={'N387': 0.2, 'g': 0.2, 'r': 0.2, 'i': 0.2, 'N816': 0.2, 'z': 0.2, 'N921': 0.2, 'y': 0.2, 'N1010': 0.2}

# Maximum (negative) exposure gray to be able to recover bad ccds via interpolation. Visits with more gray extinction will only get CCD zeropoints if there are sufficient star observations (minStarPerCcd) on that CCD.
config.fgcmFitCycle.expGrayRecoverCut=-1.0

# Per-band specification on maximum exposure variance to be considered possibly photometric.  Must have one entry per band.  Broad-band filters should be 0.0005.
config.fgcmFitCycle.expVarGrayPhotometricCutDict={'N387': 0.05, 'g': 0.0025, 'r': 0.0025, 'i': 0.0025, 'N816': 0.05, 'z': 0.0025, 'N921': 0.05, 'y': 0.0025, 'N1010': 0.05}

# Maximum exposure gray error to be able to recover bad ccds via interpolation. Visits with more gray variance will only get CCD zeropoints if there are sufficient star observations (minStarPerCcd) on that CCD.
config.fgcmFitCycle.expGrayErrRecoverCut=0.05

# Number of aperture bins used in aperture correction fit.  When set to 0no fit will be performed, and the config.aperCorrInputSlopes will be used if available.
config.fgcmFitCycle.aperCorrFitNBins=0

# Per-band specification of aperture correction input slope parameters.  These are used on the first fit iteration, and aperture correction parameters will be updated from the data if config.aperCorrFitNBins > 0.  It is recommended to set this when there is insufficient data to fit the parameters (e.g. tract mode).
config.fgcmFitCycle.aperCorrInputSlopeDict={'N387': -1.0, 'g': -1.1579, 'r': -1.3908, 'i': -1.1436, 'N816': -1.8149, 'z': -1.6974, 'N921': -1.331, 'y': -1.2057, 'N1010': -1.0}

config.fgcmFitCycle.sedboundaryterms.data={}
config.fgcmFitCycle.sedboundaryterms.data['gr']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['gr'].primary='g'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['gr'].secondary='r'

config.fgcmFitCycle.sedboundaryterms.data['ri']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['ri'].primary='r'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['ri'].secondary='i'

config.fgcmFitCycle.sedboundaryterms.data['iz']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['iz'].primary='i'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['iz'].secondary='z'

config.fgcmFitCycle.sedboundaryterms.data['zy']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['zy'].primary='z'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['zy'].secondary='y'

config.fgcmFitCycle.sedboundaryterms.data['N387g']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['N387g'].primary='N387'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['N387g'].secondary='g'

config.fgcmFitCycle.sedboundaryterms.data['N816i']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['N816i'].primary='N816'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['N816i'].secondary='i'

config.fgcmFitCycle.sedboundaryterms.data['N921z']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['N921z'].primary='N921'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['N921z'].secondary='z'

config.fgcmFitCycle.sedboundaryterms.data['N1010y']=lsst.fgcmcal.sedterms.Sedboundaryterm()
# name of primary band
config.fgcmFitCycle.sedboundaryterms.data['N1010y'].primary='N1010'

# name of secondary band
config.fgcmFitCycle.sedboundaryterms.data['N1010y'].secondary='y'

config.fgcmFitCycle.sedterms.data={}
config.fgcmFitCycle.sedterms.data['g']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['g'].primaryTerm='gr'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['g'].secondaryTerm='ri'

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['g'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['g'].constant=1.6

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['g'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['g'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['g'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['r']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['r'].primaryTerm='gr'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['r'].secondaryTerm='ri'

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['r'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['r'].constant=0.9

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['r'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['r'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['r'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['i']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['i'].primaryTerm='ri'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['i'].secondaryTerm='iz'

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['i'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['i'].constant=1.0

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['i'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['i'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['i'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['z']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['z'].primaryTerm='iz'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['z'].secondaryTerm='zy'

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['z'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['z'].constant=1.0

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['z'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['z'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['z'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['y']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['y'].primaryTerm='zy'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['y'].secondaryTerm='iz'

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['y'].extrapolated=True

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['y'].constant=0.25

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['y'].primaryBand='y'

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['y'].secondaryBand='z'

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['y'].tertiaryBand='i'

config.fgcmFitCycle.sedterms.data['N387']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N387'].primaryTerm='N387g'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N387'].secondaryTerm=None

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['N387'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['N387'].constant=1.0

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N387'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N387'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N387'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['N816']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N816'].primaryTerm='N816i'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N816'].secondaryTerm=None

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['N816'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['N816'].constant=0.7

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N816'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N816'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N816'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['N921']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N921'].primaryTerm='N921z'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N921'].secondaryTerm=None

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['N921'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['N921'].constant=0.5

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N921'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N921'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N921'].tertiaryBand=None

config.fgcmFitCycle.sedterms.data['N1010']=lsst.fgcmcal.sedterms.Sedterm()
# Name of primary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N1010'].primaryTerm='N1010y'

# Name of secondary Sedboundaryterm
config.fgcmFitCycle.sedterms.data['N1010'].secondaryTerm=None

# Extrapolate to compute SED slope
config.fgcmFitCycle.sedterms.data['N1010'].extrapolated=False

# Adjustment constant for SED slope
config.fgcmFitCycle.sedterms.data['N1010'].constant=1.0

# Primary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N1010'].primaryBand=None

# Secondary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N1010'].secondaryBand=None

# Tertiary band name for extrapolation
config.fgcmFitCycle.sedterms.data['N1010'].tertiaryBand=None

# Maximum mag error for fitting sigma_FGCM
config.fgcmFitCycle.sigFgcmMaxErr=0.01

# Per-band specification for maximum (absolute) achromatic residual (gray value) for observations in sigma_fgcm (raw repeatability).  Broad-band filters should be 0.05.
config.fgcmFitCycle.sigFgcmMaxEGrayDict={'N387': 0.15, 'g': 0.05, 'r': 0.05, 'i': 0.05, 'N816': 0.15, 'z': 0.05, 'N921': 0.15, 'y': 0.05, 'N1010': 0.15}

# Maximum error on a star observation to use in ccd gray (achromatic residual) computation
config.fgcmFitCycle.ccdGrayMaxStarErr=0.1

# Per-band specification of the approximate overall throughput at the start of calibration observations.  Must have one entry per band.  Typically should be 1.0.
config.fgcmFitCycle.approxThroughputDict={'N387': 1.0, 'g': 1.0, 'r': 1.0, 'i': 1.0, 'N816': 1.0, 'z': 1.0, 'N921': 1.0, 'y': 1.0, 'N1010': 1.0}

# Allowed range for systematic error floor estimation
config.fgcmFitCycle.sigmaCalRange=[0.001, 0.003]

# Magnitude percentile range to fit systematic error floor
config.fgcmFitCycle.sigmaCalFitPercentile=[0.05, 0.15]

# Magnitude percentile range to plot systematic error floor
config.fgcmFitCycle.sigmaCalPlotPercentile=[0.05, 0.95]

# Systematic error floor for all zeropoints
config.fgcmFitCycle.sigma0Phot=0.003

# Reference longitude for plotting maps
config.fgcmFitCycle.mapLongitudeRef=0.0

# Healpix nside for plotting maps
config.fgcmFitCycle.mapNSide=256

# Filename start for plot output files
config.fgcmFitCycle.outfileBase='fgcmHscCalibrations'

# Encoded star-color cuts (to be cleaned up)
config.fgcmFitCycle.starColorCuts=['g,r,-0.25,2.25', 'r,i,-0.50,2.25', 'i,z,-0.50,1.00', 'g,i,0.0,3.5']

# Band names to use to split stars by color.  Must have 2 entries.
config.fgcmFitCycle.colorSplitBands=['g', 'i']

# Should FGCM model the magnitude errors from sky/fwhm? (False means trust inputs)
config.fgcmFitCycle.modelMagErrors=True

# Model PWV with a quadratic term for variation through the night?
config.fgcmFitCycle.useQuadraticPwv=False

# Model instrumental parameters per band? Otherwise, instrumental parameters (QE changes with time) are shared among all bands.
config.fgcmFitCycle.instrumentParsPerBand=True

# Minimum time change (in days) between observations to use in constraining instrument slope.
config.fgcmFitCycle.instrumentSlopeMinDeltaT=20.0

# Fit (intraband) mirror chromatic term?
config.fgcmFitCycle.fitMirrorChromaticity=False

# Mirror coating dates in MJD
config.fgcmFitCycle.coatingMjds=[56650.0, 58050.0]

# Output standard stars prior to final cycle?  Used in debugging.
config.fgcmFitCycle.outputStandardsBeforeFinalCycle=False

# Output standard stars prior to final cycle?  Used in debugging.
config.fgcmFitCycle.outputZeropointsBeforeFinalCycle=False

# Per-band specification on whether to use star repeatability (instead of exposures) for computing photometric cuts. Recommended for tract mode or bands with few visits.
config.fgcmFitCycle.useRepeatabilityForExpGrayCutsDict={'N387': True, 'g': True, 'r': True, 'i': True, 'N816': True, 'z': True, 'N921': True, 'y': True, 'N1010': True}

# Number of sigma for automatic computation of (low) photometric cut. Cut is based on exposure gray width (per band), unless useRepeatabilityForExpGrayCuts is set, in which case the star repeatability is used (also per band).
config.fgcmFitCycle.autoPhotometricCutNSig=3.0

# Number of sigma for automatic computation of (high) outlier cut. Cut is based on exposure gray width (per band), unless useRepeatabilityForExpGrayCuts is set, in which case the star repeatability is used (also per band).
config.fgcmFitCycle.autoHighCutNSig=4.0

# Be less verbose with logging.
config.fgcmFitCycle.quietMode=True

# Random seed for fgcm for consistency in tests.
config.fgcmFitCycle.randomSeed=None

# Final fit cycle from FGCM fit
config.fgcmOutputProducts.cycleNumber=5

# Transfer 'absolute' calibration from reference catalog? This afterburner step is unnecessary if reference stars were used in the full fit in FgcmFitCycleTask.
config.fgcmOutputProducts.doReferenceCalibration=False

# Output standard stars in reference catalog format
config.fgcmOutputProducts.doRefcatOutput=False

# Output atmospheres in transmission_atmosphere_fgcm format
config.fgcmOutputProducts.doAtmosphereOutput=True

# Output zeropoints in fgcm_photoCalib format
config.fgcmOutputProducts.doZeropointOutput=True

# Compose Jacobian of WCS with fgcm calibration for output photoCalib?
config.fgcmOutputProducts.doComposeWcsJacobian=True

# Apply the mean chromatic correction to the zeropoints?
config.fgcmOutputProducts.doApplyMeanChromaticCorrection=True

# Padding to add to 4 all edges of the bounding box (pixels)
config.fgcmOutputProducts.refObjLoader.pixelMargin=300

# Default reference catalog filter to use if filter not specified in exposure; if blank then filter must be specified in exposure.
config.fgcmOutputProducts.refObjLoader.defaultFilter=''

# Always use this reference catalog filter, no matter whether or what filter name is supplied to the loader. Effectively a trivial filterMap: map all filter names to this filter. This can be set for purely-astrometric catalogs (e.g. Gaia DR2) where there is only one reasonable choice for every camera filter->refcat mapping, but not for refcats used for photometry, which need a filterMap and/or colorterms/transmission corrections.
config.fgcmOutputProducts.refObjLoader.anyFilterMapsToThis=None

# Mapping of camera filter name: reference catalog filter name; each reference filter must exist in the refcat. Note that this does not perform any bandpass corrections: it is just a lookup.
config.fgcmOutputProducts.refObjLoader.filterMap={}

# Require that the fields needed to correct proper motion (epoch, pm_ra and pm_dec) are present?
config.fgcmOutputProducts.refObjLoader.requireProperMotion=False

# Name of the ingested reference dataset
config.fgcmOutputProducts.refObjLoader.ref_dataset_name='cal_ref_cat'

# Matching radius, arcsec
config.fgcmOutputProducts.photoCal.match.matchRadius=0.25

# Apply flux limit?
config.fgcmOutputProducts.photoCal.match.sourceSelection.doFluxLimit=False

# Apply flag limitation?
config.fgcmOutputProducts.photoCal.match.sourceSelection.doFlags=True

# Apply unresolved limitation?
config.fgcmOutputProducts.photoCal.match.sourceSelection.doUnresolved=False

# Apply signal-to-noise limit?
config.fgcmOutputProducts.photoCal.match.sourceSelection.doSignalToNoise=True

# Apply isolated limitation?
config.fgcmOutputProducts.photoCal.match.sourceSelection.doIsolated=False

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.fluxLimit.minimum=None

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.fluxLimit.maximum=None

# Name of the source flux field to use.
config.fgcmOutputProducts.photoCal.match.sourceSelection.fluxLimit.fluxField='slot_CalibFlux_instFlux'

# List of source flag fields that must be set for a source to be used.
config.fgcmOutputProducts.photoCal.match.sourceSelection.flags.good=[]

# List of source flag fields that must NOT be set for a source to be used.
config.fgcmOutputProducts.photoCal.match.sourceSelection.flags.bad=['flag_badStar']

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.unresolved.minimum=None

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.unresolved.maximum=0.5

# Name of column for star/galaxy separation
config.fgcmOutputProducts.photoCal.match.sourceSelection.unresolved.name='base_ClassificationExtendedness_value'

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.signalToNoise.minimum=10.0

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.sourceSelection.signalToNoise.maximum=None

# Name of the source flux field to use.
config.fgcmOutputProducts.photoCal.match.sourceSelection.signalToNoise.fluxField='instFlux'

# Name of the source flux error field to use.
config.fgcmOutputProducts.photoCal.match.sourceSelection.signalToNoise.errField='instFluxErr'

# Name of column for parent
config.fgcmOutputProducts.photoCal.match.sourceSelection.isolated.parentName='parent'

# Name of column for nChild
config.fgcmOutputProducts.photoCal.match.sourceSelection.isolated.nChildName='deblend_nChild'

# Apply magnitude limit?
config.fgcmOutputProducts.photoCal.match.referenceSelection.doMagLimit=False

# Apply flag limitation?
config.fgcmOutputProducts.photoCal.match.referenceSelection.doFlags=False

# Apply unresolved limitation?
config.fgcmOutputProducts.photoCal.match.referenceSelection.doUnresolved=False

# Apply signal-to-noise limit?
config.fgcmOutputProducts.photoCal.match.referenceSelection.doSignalToNoise=True

# Apply magnitude error limit?
config.fgcmOutputProducts.photoCal.match.referenceSelection.doMagError=False

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.magLimit.minimum=None

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.magLimit.maximum=None

# Name of the source flux field to use.
config.fgcmOutputProducts.photoCal.match.referenceSelection.magLimit.fluxField='flux'

# List of source flag fields that must be set for a source to be used.
config.fgcmOutputProducts.photoCal.match.referenceSelection.flags.good=[]

# List of source flag fields that must NOT be set for a source to be used.
config.fgcmOutputProducts.photoCal.match.referenceSelection.flags.bad=[]

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.unresolved.minimum=None

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.unresolved.maximum=0.5

# Name of column for star/galaxy separation
config.fgcmOutputProducts.photoCal.match.referenceSelection.unresolved.name='base_ClassificationExtendedness_value'

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.signalToNoise.minimum=10.0

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.signalToNoise.maximum=None

# Name of the source flux field to use.
config.fgcmOutputProducts.photoCal.match.referenceSelection.signalToNoise.fluxField='flux'

# Name of the source flux error field to use.
config.fgcmOutputProducts.photoCal.match.referenceSelection.signalToNoise.errField='flux_err'

# Select objects with value greater than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.magError.minimum=None

# Select objects with value less than this
config.fgcmOutputProducts.photoCal.match.referenceSelection.magError.maximum=None

# Name of the source flux error field to use.
config.fgcmOutputProducts.photoCal.match.referenceSelection.magError.magErrField='mag_err'

config.fgcmOutputProducts.photoCal.match.referenceSelection.colorLimits={}
# Fraction of candidates to reserve from fitting; none if <= 0
config.fgcmOutputProducts.photoCal.reserve.fraction=0.0

# This number will be added to the exposure ID to set the random seed for reserving candidates
config.fgcmOutputProducts.photoCal.reserve.seed=1

# Name of the source instFlux field to use.  The associated flag field
# ('<name>_flags') will be implicitly included in badFlags.
config.fgcmOutputProducts.photoCal.fluxField='instFlux'

# Apply photometric color terms to reference stars? One of:
# None: apply if colorterms and photoCatName are not None;
#       fail if color term data is not available for the specified ref catalog and filter.
# True: always apply colorterms; fail if color term data is not available for the
#       specified reference catalog and filter.
# False: do not apply.
config.fgcmOutputProducts.photoCal.applyColorTerms=False

# maximum sigma to use when clipping
config.fgcmOutputProducts.photoCal.sigmaMax=0.25

# clip at nSigma
config.fgcmOutputProducts.photoCal.nSigma=3.0

# use median instead of mean to compute zeropoint
config.fgcmOutputProducts.photoCal.useMedian=True

# number of iterations
config.fgcmOutputProducts.photoCal.nIter=20

config.fgcmOutputProducts.photoCal.colorterms.data={}
# Name of photometric reference catalog; used to select a color term dict in colorterms. see also applyColorTerms
config.fgcmOutputProducts.photoCal.photoCatName=None

# Additional magnitude uncertainty to be added in quadrature with measurement errors.
config.fgcmOutputProducts.photoCal.magErrFloor=0.003

# Healpix nside to pixelize catalog to compare to reference catalog
config.fgcmOutputProducts.referencePixelizationNside=64

# Minimum number of stars per healpix pixel to select for comparisonto the specified reference catalog
config.fgcmOutputProducts.referencePixelizationMinStars=200

# Minimum number of stars matched to reference catalog to be used in statistics
config.fgcmOutputProducts.referenceMinMatch=50

# Number of healpix pixels to sample to do comparison. Doing too many will take a long time and not yield any more precise results because the final number is the median offset (per band) from the set of pixels.
config.fgcmOutputProducts.referencePixelizationNPixels=100

# Version number of the persisted on-disk storage format.
# Version 0 had Jy as flux units (default 0 for unversioned catalogs).
# Version 1 had nJy as flux units.
config.fgcmOutputProducts.datasetConfig.format_version=1

# String to pass to the butler to retrieve persisted files.
config.fgcmOutputProducts.datasetConfig.ref_dataset_name='fgcm_stars'

# Depth of the HTM tree to make.  Default is depth=7 which gives ~ 0.3 sq. deg. per trixel.
config.fgcmOutputProducts.datasetConfig.indexer['HTM'].depth=7

config.fgcmOutputProducts.datasetConfig.indexer.name='HTM'
# Tolerance on repeatability convergence (per band)
config.convergenceTolerance=0.005

# Maximum number of fit cycles
config.maxFitCycles=5

# Make plots for debugging purposes?
config.doDebuggingPlots=False

