import lsst.jointcal.jointcal
assert type(config)==lsst.jointcal.jointcal.JointcalConfig, 'config is of type %s.%s instead of lsst.jointcal.jointcal.JointcalConfig' % (type(config).__module__, type(config).__name__)
import lsst.meas.algorithms.flaggedSourceSelector
import lsst.meas.algorithms.sourceSelector
import lsst.pipe.tasks.colorterms
import lsst.meas.algorithms.matcherSourceSelector
import lsst.meas.algorithms.objectSizeStarSelector
import lsst.meas.algorithms.loadIndexedReferenceObjects
import lsst.meas.algorithms.astrometrySourceSelector
# Fit astrometry and write the fitted result.
config.doAstrometry=True

# Fit photometry and write the fitted result.
config.doPhotometry=True

# Type of coadd, typically deep or goodSeeing
config.coaddName='deep'

# Systematic term to apply to the measured position error (pixels)
config.positionErrorPedestal=0.02

# Systematic term to apply to the measured error on flux or magnitude as a fraction of source flux or magnitude delta (e.g. 0.05 is 5% of flux or +50 millimag).
config.photometryErrorPedestal=0.0

# Matching radius between fitted and reference stars (arcseconds)
config.matchCut=3.0

# Minimum number of associated measured stars for a fitted star to be included in the fit
config.minMeasurements=2

# Minimum number of measuredStars per ccdImage before printing warnings
config.minMeasuredStarsPerCcd=100

# Minimum number of measuredStars per ccdImage before printing warnings
config.minRefStarsPerCcd=30

# Allow a line search during minimization, if it is reasonable for the model (models with a significant non-linear component, e.g. constrainedPhotometry).
config.allowLineSearch=False

# Polynomial order for fitting the simple astrometry model.
config.astrometrySimpleOrder=3

# Order of the per-chip transform for the constrained astrometry model.
config.astrometryChipOrder=1

# Order of the per-visit transform for the constrained astrometry model.
config.astrometryVisitOrder=7

# Use the input calexp WCSs to initialize a SimpleAstrometryModel.
config.useInputWcs=True

# Type of model to fit to astrometry
config.astrometryModel='constrained'

# Type of model to fit to photometry
config.photometryModel='constrainedMagnitude'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Order of the per-visit polynomial transform for the constrained photometry model.
config.photometryVisitOrder=7

# Do the rank update step during minimization. Skipping this can help deal with models that are too non-linear.
config.photometryDoRankUpdate=True

# Do the rank update step during minimization (should not change the astrometry fit). Skipping this can help deal with models that are too non-linear.
config.astrometryDoRankUpdate=True

# How many sigma to reject outliers at during minimization.
config.outlierRejectSigma=5.0

# Maximum number of minimize iterations to take when fitting photometry.
config.maxPhotometrySteps=20

# Maximum number of minimize iterations to take when fitting photometry.
config.maxAstrometrySteps=20

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

# Default reference catalog filter to use if filter not specified in exposure; if blank then filter must be specified in exposure.
config.astrometryRefObjLoader.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.astrometryRefObjLoader.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.astrometryRefObjLoader.filterMap={'r2': 'r', 'i2': 'i', 'N387': 'g', 'N468': 'g', 'N515': 'g', 'N527': 'g', 'N656': 'r', 'N718': 'i', 'N816': 'i', 'N921': 'z', 'N926': 'z', 'N973': 'y', 'N1010': 'y', 'I945': 'z', 'HSC-G': 'g', 'HSC-R': 'r', 'HSC-R2': 'r', 'HSC-I': 'i', 'HSC-I2': 'i', 'HSC-Z': 'z', 'HSC-Y': 'y', 'NB0387': 'g', 'NB0468': 'g', 'NB0515': 'g', 'NB0527': 'g', 'NB0656': 'r', 'NB0718': 'i', 'NB0816': 'i', 'NB0921': 'z', 'NB0926': 'z', 'NB0973': 'y', 'NB1010': 'y', 'IB0945': 'z'}

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

# Name of the ingested reference dataset
config.astrometryRefObjLoader.ref_dataset_name='ps1_pv3_3pi_20170110'

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

# Default reference catalog filter to use if filter not specified in exposure; if blank then filter must be specified in exposure.
config.photometryRefObjLoader.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.photometryRefObjLoader.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.photometryRefObjLoader.filterMap={'r2': 'r', 'i2': 'i', 'N387': 'g', 'N468': 'g', 'N515': 'g', 'N527': 'g', 'N656': 'r', 'N718': 'i', 'N816': 'i', 'N921': 'z', 'N926': 'z', 'N973': 'y', 'N1010': 'y', 'I945': 'z', 'HSC-G': 'g', 'HSC-R': 'r', 'HSC-R2': 'r', 'HSC-I': 'i', 'HSC-I2': 'i', 'HSC-Z': 'z', 'HSC-Y': 'y', 'NB0387': 'g', 'NB0468': 'g', 'NB0515': 'g', 'NB0527': 'g', 'NB0656': 'r', 'NB0718': 'i', 'NB0816': 'i', 'NB0921': 'z', 'NB0926': 'z', 'NB0973': 'y', 'NB1010': 'y', 'IB0945': 'z'}

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

# Name of the ingested reference dataset
config.photometryRefObjLoader.ref_dataset_name='ps1_pv3_3pi_20170110'

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

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

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

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

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

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

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

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

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

# List of source flag fields that must NOT be set for a source to be used.
config.sourceSelector['science'].flags.bad=['base_PixelFlags_flag_edge', 'base_PixelFlags_flag_saturated', 'base_PixelFlags_flag_interpolatedCenter', 'base_SdssCentroid_flag', 'base_PsfFlux_flag', 'base_PixelFlags_flag_suspectCenter']

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# List of flags which cause a source to be rejected as bad
config.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.sourceSelector['flagged'].field='calib_psf_used'

# List of flags which cause a source to be rejected as bad
config.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.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.sourceSelector['astrometry'].minSnr=10.0

# Type of source flux; typically one of Ap or Psf
config.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.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.sourceSelector['matcher'].excludePixelFlags=True

config.sourceSelector.name='science'
# Apply magnitude limit?
config.astrometryReferenceSelector.doMagLimit=False

# Apply flag limitation?
config.astrometryReferenceSelector.doFlags=False

# Apply unresolved limitation?
config.astrometryReferenceSelector.doUnresolved=False

# Apply signal-to-noise limit?
config.astrometryReferenceSelector.doSignalToNoise=False

# Apply magnitude error limit?
config.astrometryReferenceSelector.doMagError=False

# Select objects with value greater than this
config.astrometryReferenceSelector.magLimit.minimum=None

# Select objects with value less than this
config.astrometryReferenceSelector.magLimit.maximum=None

# Name of the source flux field to use.
config.astrometryReferenceSelector.magLimit.fluxField='flux'

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

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

# Select objects with value greater than this
config.astrometryReferenceSelector.unresolved.minimum=None

# Select objects with value less than this
config.astrometryReferenceSelector.unresolved.maximum=0.5

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

# Select objects with value greater than this
config.astrometryReferenceSelector.signalToNoise.minimum=None

# Select objects with value less than this
config.astrometryReferenceSelector.signalToNoise.maximum=None

# Name of the source flux field to use.
config.astrometryReferenceSelector.signalToNoise.fluxField='flux'

# Name of the source flux error field to use.
config.astrometryReferenceSelector.signalToNoise.errField='flux_err'

# Select objects with value greater than this
config.astrometryReferenceSelector.magError.minimum=None

# Select objects with value less than this
config.astrometryReferenceSelector.magError.maximum=None

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

config.astrometryReferenceSelector.colorLimits={}
# Apply magnitude limit?
config.photometryReferenceSelector.doMagLimit=False

# Apply flag limitation?
config.photometryReferenceSelector.doFlags=False

# Apply unresolved limitation?
config.photometryReferenceSelector.doUnresolved=False

# Apply signal-to-noise limit?
config.photometryReferenceSelector.doSignalToNoise=False

# Apply magnitude error limit?
config.photometryReferenceSelector.doMagError=False

# Select objects with value greater than this
config.photometryReferenceSelector.magLimit.minimum=None

# Select objects with value less than this
config.photometryReferenceSelector.magLimit.maximum=None

# Name of the source flux field to use.
config.photometryReferenceSelector.magLimit.fluxField='flux'

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

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

# Select objects with value greater than this
config.photometryReferenceSelector.unresolved.minimum=None

# Select objects with value less than this
config.photometryReferenceSelector.unresolved.maximum=0.5

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

# Select objects with value greater than this
config.photometryReferenceSelector.signalToNoise.minimum=None

# Select objects with value less than this
config.photometryReferenceSelector.signalToNoise.maximum=None

# Name of the source flux field to use.
config.photometryReferenceSelector.signalToNoise.fluxField='flux'

# Name of the source flux error field to use.
config.photometryReferenceSelector.signalToNoise.errField='flux_err'

# Select objects with value greater than this
config.photometryReferenceSelector.magError.minimum=None

# Select objects with value less than this
config.photometryReferenceSelector.magError.maximum=None

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

config.photometryReferenceSelector.colorLimits={}
# Uncertainty on reference catalog coordinates [mas] to use in place of the `coord_*Err` fields. If None, then raise an exception if the reference catalog is missing coordinate errors. If specified, overrides any existing `coord_*Err` values.
config.astrometryReferenceErr=10.0

# Write the pre/post-initialization Hessian and gradient to text files, for debugging. The output files will be of the form 'astrometry_preinit-mat.txt', in the current directory. Note that these files are the dense versions of the matrix, and so may be very large.
config.writeInitMatrix=False

# Write .csv files containing the contributions to chi2 for the initialization and final fit.
config.writeChi2FilesInitialFinal=False

# Write .csv files containing the contributions to chi2 for the outer fit loop.
config.writeChi2FilesOuterLoop=False

# Write the pre-initialization model to text files, for debugging. Output is written to `initial[Astro|Photo]metryModel.txt` in the current working directory.
config.writeInitialModel=False

# Path to write debug output files to. Used by `writeInitialModel`, `writeChi2Files*`, `writeInitMatrix`.
config.debugOutputPath='.'

# Source flux field to use in source selection and to get fluxes from the catalog.
config.sourceFluxType='Calib'

