packages:  # known packages and their versions, stored for later comparison
    template: config/packages.pickle
    python: lsst.base.Packages
    persistable: Packages
    storage: PickleStorage
processCcd_config:
    persistable: Config
    python: lsst.pipe.tasks.processCcd.ProcessCcdConfig
    storage: ConfigStorage
    template: config/processCcd.py
characterizeImage_config:
    persistable: Config
    python: lsst.pipe.tasks.characterizeImage.CharacterizeImageConfig
    storage: ConfigStorage
    template: config/characterizeImage.py
calibrate_config:
    persistable: Config
    python: lsst.pipe.tasks.calibrate.CalibrateConfig
    storage: ConfigStorage
    template: config/calibrate.py
IngestIndexedReferenceTask_config:
    persistable: Config
    python: lsst.meas.algorithms.IngestIndexedReferenceConfig
    storage: ConfigStorage
    template: config/IngestIndexedReferenceTask.py
ref_cat_config:
    persistable: Config
    python: lsst.meas.algorithms.DatasetConfig
    storage: ConfigStorage
    template: ref_cats/%(name)s/config.py
forcedPhotCcd_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.meas.base.forcedPhotCcd.ForcedPhotCcdConfig
    template: config/forcedPhotCcd.py
src_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/src.fits
deep_assembleCoadd_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.assembleCoadd.AssembleCoaddConfig
    template: config/deep_assembleCoadd.py
deepCoadd_calexp_background:
    description: "The background model for a deepCoadd_calexp."
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.afw.math.BackgroundList
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/bkgd-%(filter)s-%(tract)d-%(patch)s.fits
deepCoadd_peak_schema:
    persistable: PeakCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.detection.PeakCatalog
    template: schema/deepCoadd_peak.fits
deep_safeClipAssembleCoadd_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.assembleCoadd.SafeClipAssembleCoaddConfig
    template: config/deep_safeClipAssembleCoadd.py
deep_compareWarpAssembleCoadd_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.assembleCoadd.CompareWarpAssembleCoaddConfig
    template: config/deep_compareWarpAssembleCoadd.py
deep_dcrAssembleCoadd_config:
    description: "Configuration for DCR-aware coadds."
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.dcrAssembleCoadd.DcrAssembleCoaddConfig
    template: config/deep_dcrAssembleCoadd.py
flat_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.constructCalibs.FlatConfig
    template: config/flat.py
fringe_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.constructCalibs.FringeConfig
    template: config/fringe.py
bias_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.constructCalibs.BiasConfig
    template: config/bias.py
deepCoadd_forced_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd_forcedPhotCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
deepCoadd_forced_src_schema:
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_forced_src.fits
deep_makeCoaddTempExp_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deep_makeCoaddTempExp_metadata/%(filter)s/%(tract)d/%(patch)s_metadata.yaml
deepCoadd_ref_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_ref.fits
deepCoaddId:
    description: >
      A unique identifier for a coadd of a single patch.
      This is overridden by the CameraMapper and not a persisted dataset.
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
mergeCoaddMeasurements_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.multiBand.MergeMeasurementsConfig
    template: config/mergeMeasure.py
deep_assembleCoadd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deep_assembleCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
deepCoadd_meas:
    description: >
        Catalog of source measurements on the deepCoadd.
        Footprints are deblended and fit (shapes, positions, fluxes) per filter,
        using peaks produced by MeasureMergedCoaddSourcesTask.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/meas-%(filter)s-%(tract)d-%(patch)s.fits
deblendCoaddSources_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/deblendMD-%(filter)s-%(tract)d-%(patch)s.yaml
deblendCoaddSources_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.multiBand.DeblendCoaddSourcesConfig
    template: config/deblend.py
deepCoadd_deblendedModel:
    description: >
        Catalog of deblended footprint models using the output of the multi-band deblender.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/deblendedModel-%(filter)s-%(tract)d-%(patch)s.fits
deepCoadd_deblendedModel_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_deblendedModel.fits
deepCoadd_deblendedFlux:
    description: >
        Catalog of deblended footprints with templates used to reweight the data so that flux is conserved.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/deblendedFlux-%(filter)s-%(tract)d-%(patch)s.fits
deepCoadd_deblendedFlux_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_deblendedFlux.fits
dcrCoadd_deblendedModel:
    description: >
        Catalog of deblended footprint models using the output of the multi-band deblender.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/deblendedModel-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_deblendedModel_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_deblendedModel.fits
dcrCoadd_deblendedFlux:
    description: >
        Catalog of deblended footprints with templates used to reweight the data so that flux is conserved.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/deblendedFlux-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_deblendedFlux_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_deblendedFlux.fits
deepCoadd_forced_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.meas.base.forcedPhotCoadd.ForcedPhotCoaddConfig
    template: config/forcedPhotCoadd.py
deepCoadd_forced_src:
    description: >
        Catalog of forced measurements (shape and position parameters held fixed) on the deepCoadd.
        Use deepCoadd_ref as the reference catalog by default.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/forced_src-%(filter)s-%(tract)d-%(patch)s.fits
mergeCoaddDetections_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.multiBand.MergeDetectionsConfig
    template: config/mergeDetect.py
measureCoaddSources_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/measMD-%(filter)s-%(tract)d-%(patch)s.yaml
mergeCoaddMeasurements_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/mergeMeasMD-%(tract)d-%(patch)s.yaml
transformSrcMeasurement_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.transformMeasurement.RunTransformConfig
    template: config/transformSrcMeasurement.py
deepCoadd_mergeDet_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_mergeDet.fits
brightObjectMask:
    description: >
      Bright object mask produced with external catalogs to be applied
      to the mask plane BRIGHT_OBJECT by AssembleCoaddTask.
      Not output by any Task currently.
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.pipe.tasks.objectMasks.ObjectMaskCatalog
    template: deepCoadd/BrightObjectMasks/%(tract)d/BrightObjectMask-%(tract)d-%(patch)s-%(filter)s.reg
deep_safeClipAssembleCoadd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deep_assembleCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
deep_compareWarpAssembleCoadd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deep_assembleCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
deep_dcrAssembleCoadd_metadata:
    description: "Temporary metadata for DCR-aware coadds."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deep_assembleCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
transformed_src_schema:
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    template: schema/transformed_src.fits
deepMergedCoaddId:
    description: >
      A unique identifier for a band-merged catalog of a single patch.
      This is overridden by the CameraMapper and not a persisted dataset.
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
detectCoaddSources_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/detectMD-%(filter)s-%(tract)d-%(patch)s.yaml
deep_makeCoaddTempExp_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.makeCoaddTempExp.MakeCoaddTempExpConfig
    template: config/deep_makeCoaddTempExp.py
deepCoaddId_bits:
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
deepCoadd_ref:
    description: >
        Catalog marking the primary detection (which band provides a good shape and position)
        for each detection in deepCoadd_mergeDet.
        Produced by mergeCoaddMeasurements.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/ref-%(tract)d-%(patch)s.fits
forced_src_schema:
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/forced_src_schema.fits
calibrated_src_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/calibrated_src.fits
deepCoadd_det_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_det.fits
dark_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.constructCalibs.DarkConfig
    template: config/dark.py
multiBandDriver_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.multiBandDriver.MultiBandDriverConfig
    template: config/multiBandDriver.py
measureCoaddSources_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.multiBand.MeasureMergedCoaddSourcesConfig
    template: config/measureMerged.py
deepCoadd_mergeDet:
    description: >
        Catalog containing the union of footprints (and peaks) detected on all filters (from deepCoadd_det).
        Produced by MergeDetectionsTask.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/mergeDet-%(tract)d-%(patch)s.fits
ccdExposureId:
    description: >
      A unique identifier for single ccd exposure.
      This is overridden by the CameraMapper and not a persisted dataset.
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
forcedCcd_config:
    persistable: Config
    storage: ConfigStorage
    python: hsc.pipe.tasks.forcedCcd.ForcedCcdConfig
    template: config/forcedCcd.py
deepCoadd_meas_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/deepCoadd_meas.fits
deepCoadd_skyMap:
    description: "The standard reference system for use when projecting single epoch images on to the coadd."
    persistable: ignored
    storage: PickleStorage
    python: lsst.skymap.BaseSkyMap
    template: deepCoadd/skyMap.pickle
deepCoadd_det:
    description: "Source catalog of footprints detected on coadds, produced by DetectCoaddSourcesTask."
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/det-%(filter)s-%(tract)d-%(patch)s.fits
detectCoaddSources_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.multiBand.DetectCoaddSourcesConfig
    template: config/detect.py
coaddDriver_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.coaddDriver.CoaddDriverConfig
    template: config/coaddDriver.py
Mosaic_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.meas.mosaic.mosaicTask.MosaicConfig
    template: config/mosaic.py
deepMergedCoaddId_bits:
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
processCcdWithFakesDriver_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.processCcdWithFakesDriver.ProcessCcdWithFakesDriverConfig
    template: config/processCcdWithFakesDriver.py
singleFrameDriver_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.singleFrameDriver.SingleFrameDriverConfig
    template: config/singleFrameDriver.py
mergeCoaddDetections_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/mergeDetMD-%(tract)d-%(patch)s.yaml
icSrc_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/icSrc.fits
ccdExposureId_bits:
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
ref_cat:
    description: "An external reference catalog, read by LoadIndexedReferenceObjectsTask."
    persistable: SimpleCatalog
    python: lsst.afw.table.SimpleCatalog
    storage: FitsCatalogStorage
    table: ignored
    template: ref_cats/%(name)s/%(pixel_id)s.fits
starGalaxy_classifier:
    description: "The trained star galaxy separation classfier - uses colors and morphology information"
    persistable: ignored
    python: sklearn.calibration.CalibratedClassifierCV
    storage: PickleStorage
    table: ignored
    template: algorithmData/starGalaxyClassifier/%(label)s/clfIsotonicColour.pickle
starGalaxy_morphOnlyClassifier:
    description: "The trained star galaxy separation classfier - uses morphology information only"
    persistable: ignored
    python: sklearn.calibration.CalibratedClassifierCV
    storage: PickleStorage
    table: ignored
    template: algorithmData/starGalaxyClassifier/%(label)s/clfIsotonicMorph.pickle
deepDiff_config:
    template:      config/deepDiff.py
    python:        lsst.pipe.tasks.imageDifference.ImageDifferenceConfig
    persistable:   Config
    storage:       ConfigStorage
    tables:        'raw'
deepDiff_metadata:
    template:      ''
    python:        lsst.daf.base.PropertySet
    persistable:   PropertySet
    storage:       YamlStorage
    tables:        'raw'
deepDiff_diaSrc:
    description: "Catalog of sources detected on deepDiff_differenceExp."
    template:      ''
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
deepDiff_diaSrc_schema:
    template:      schema/deepDiff_diaSrc.fits
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
deepDiff_kernelSrc:
    description: "Source catalog of stars that were used to compute the matching kernel in ImageDifferenceTask."
    template:      ''
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
isr_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.ip.isr.IsrTaskConfig
    template: config/isr.py
isr_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
runIsr_config:
    description: "Configuration for RunIsrTask, which retargets IsrTask to the correct camera-specific class."
    persistable: Config
    storage: ConfigStorage
    python: lsst.ip.isr.RunIsrConfig
    template: config/runIsr.py
runIsr_metadata:
    description: "Metadata for RunIsrTask, which retargets IsrTask to the correct camera-specific class."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
ossThumb:
    description: "Overscan subtracted thumbnail image, generated by ISR processing."
    persistable: None
    storage: TextStorage
    python: builtins.str
    tables: raw
    template: ''
flattenedThumb:
    description: "Flattened thumbnail image, with ISR processing up to the flat applied."
    persistable: None
    storage: TextStorage
    python: builtins.str
    tables: raw
    template: ''
icSrc:
    description: >
        High signal-to-noise source catalog produced by CharacterizeImageTask (a subset of `src`).
        Provides the sources that refined the PSF and background model.
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    tables: raw
    template: ''
icExpBackground:
    description: >
        Background model produced by CharacterizeImageTask.
        The icExp is stored with the background (defined here) already subtracted.
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.afw.math.BackgroundList
    tables: raw
    template: ''
processCcd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
characterizeImage_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: ''
    tables: raw
calibrate_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
forcedPhotCcd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
forced_src:
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    tables: raw
    template: ''
src:
    description: "Full depth source catalog produced by ProcessCcdTask."
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    tables: raw
    template: ''
source:
    description: parquet version of `src`
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    tables: raw
    template: ''
sourceTable:
    description: Per-ccd parquet version of `src`
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    tables: raw
    template: ''
sourceTable_visit:
    description: Per-visit parquet concatenation of `sourceTable`
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    tables: raw
    template: ''
visitSummary:
    description: >
        Per-visit combination of visit metadata, WCS, photoCalib, and
        additional quantities.
        Produced by ConsolidateVisitSummaryTask.
    persistable: ExposureCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.ExposureCatalog
    tables: raw
    template: ''
fakes_src:
    description: "Full depth source catalog with fake objects procduced by processCcdWithFakes."
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    tables: raw
    template: ''
fakeSourceCat:
    description: "A catalog of fake sources sized to match a specific calexp"
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    tables: raw
    template: ''
fakes_source:
    description: parquet version of `fakes_src`
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    tables: raw
    template: ''
deepCoadd_fakeSourceCat:
    description: "A catalog of fake sources covering the sky area of a specific tract"
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    tables: raw
    template: deepCoadd-results/%(tract)d/fakeSourceCat-%(tract)d.parq
insertFakes_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.insertFakes.InsertFakesConfig
    template: config/insertFakes.py
processCcdWithFakes_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.tasks.processCcdWithFakes.ProcessCcdWithFakesConfig
    template: config/processCcdWithFakes.py
processCcdWithFakes_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: metadata/processCcdWithFakes.yaml
calexpBackground:
    description: >
        Background model produced by ProcessCcdTask.
        The calexp is stored with the background (defined here) already subtracted.
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.afw.math.BackgroundList
    tables: raw
    template: ''
srcMatch:
    description: >
      Catalog of sources matched with the reference catalog that were used in CalibrateTask.
      Contains only the catalog ids of the respective catalogs.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: ''
srcMatchFull:
    description: "An optional copy of srcMatch containing all fields from the original src."
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: ''
jointcal_config:
    persistable: Config
    python: lsst.jointcal.JointcalConfig
    storage: ConfigStorage
    template: config/jointcal.py
jointcal_wcs:
    description: "Astrometric calibration produced by meas_mosaic/jointcal."
    persistable: SkyWcs
    storage: FitsCatalogStorage
    python: lsst.afw.geom.SkyWcs
    tables: raw
    template: ''
jointcal_photoCalib:
    description: "Photometric calibration produced by meas_mosaic/jointcal."
    persistable: PhotoCalib
    storage: FitsCatalogStorage
    python: lsst.afw.image.PhotoCalib
    tables: raw
    template: ''
photoCalib:
    description: "old meas_mosaic/jointcal output; deprecated in favor of jointcal_photoCalib."
    persistable: PhotoCalib
    storage: FitsCatalogStorage
    python: lsst.afw.image.PhotoCalib
    tables: raw
    template: ''
deepCoadd_measMatch:
    description: >
        Catalog of matches between deepCoadd_meas catalog and reference catalog (used for calibration).
        Produced by MeasureMergedCoaddSourcesTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: 'deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/srcMatch-%(filter)s-%(tract)d-%(patch)s.fits'
deepCoadd_measMatchFull:
    description: >
        Denormalized deepCoadd_measMatch. Contains all columns from deepCoadd_meas and reference catalog.
        Produced by from MeasureMergedCoaddSourcesTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: 'deepCoadd-results/%(filter)s/%(tract)d/%(patch)s/srcMatchFull-%(filter)s-%(tract)d-%(patch)s.fits'
dcrCoadd_calexp_background:
    description: "The background model for a dcrCoadd_calexp."
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.afw.math.BackgroundList
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/bkgd-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_peak_schema:
    persistable: PeakCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.detection.PeakCatalog
    template: schema/dcrCoadd_peak.fits
dcrCoadd_forced_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: dcrCoadd_forcedPhotCoadd_metadata/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s.yaml
dcrCoadd_forced_src_schema:
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_forced_src.fits
dcrCoadd_ref_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_ref.fits
dcrCoaddId:
    description: >
      A unique identifier for a coadd of a single patch and DCR subfilter.
      This is overridden by the CameraMapper and not a persisted dataset.
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
dcrCoadd_meas:
    description: >
        Catalog of source measurements on the dcrCoadd.
        Footprints are deblended and fit (shapes, positions, fluxes) per filter and subfilter,
        using peaks produced by MeasureMergedDcrCoaddSourcesTask.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/meas-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_forced_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.meas.base.forcedPhotCoadd.ForcedPhotCoaddConfig
    template: config/forcedPhotCoadd.py
dcrCoadd_forced_src:
    description: >
        Catalog of forced measurements (shape and position parameters held fixed) on the dcrCoadd.
        Uses dcrCoadd_ref as the reference catalog by default.
        Produced by ForcedPhotCoaddTask.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/forced_src-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_mergeDet_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_mergeDet.fits
dcrCoaddId_bits:
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
dcrCoadd_ref:
    description: >
        Catalog marking the primary detection (which band provides a good shape and position)
        for each detection in dcrCoadd_mergeDet.
        Produced by mergeDcrCoaddMeasurements.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/merged/%(tract)d/%(patch)s/ref-%(tract)d-%(patch)s.fits
dcrCoadd_det_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_det.fits
dcrCoadd_mergeDet:
    description: >
        Catalog containing the union of footprints (and peaks) detected on all subfilters (from dcrCoadd_det).
        Produced by MergeDcrDetectionsTask.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/merged/%(tract)d/%(patch)s/mergeDet-%(tract)d-%(patch)s.fits
dcrCoadd_meas_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/dcrCoadd_meas.fits
dcrCoadd_skyMap:
    description: "The standard reference system for use when projecting single epoch images on to the coadd."
    persistable: ignored
    storage: PickleStorage
    python: lsst.skymap.BaseSkyMap
    template: dcrCoadd/skyMap.pickle
dcrCoadd_det:
    description: "Source catalog of footprints detected on coadds, produced by DetectDcrCoaddSourcesTask."
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/det-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_measMatch:
    description: "Matches from MeasureMergedDcrCoaddSourcesTask."
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/srcMatch-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcrCoadd_measMatchFull:
    description: "Denormalized matches from MeasureMergedDcrCoaddSourcesTask."
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.BaseCatalog
    tables: raw
    template: dcrCoadd-results/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s/srcMatchFull-%(filter)s%(subfilter)dof%(numSubfilters)d-%(tract)d-%(patch)s.fits
dcr_makeCoaddTempExp_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: dcr_makeCoaddTempExp_metadata/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s_metadata.yaml
dcr_assembleCoadd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: dcr_assembleCoadd_metadata/%(filter)s%(subfilter)dof%(numSubfilters)d/%(tract)d/%(patch)s.yaml
dcr_makeSkyMap_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: metadata/dcr_makeSkyMap.yaml
dcr_safeClipAssembleCoadd_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: dcr_assembleCoadd_metadata/%(filter)s/%(tract)d/%(patch)s.yaml
dcrMergedCoaddId:
    description: >
      A unique identifier for a DCR subfilter-merged catalog of a single patch.
      This is overridden by the CameraMapper and not a persisted dataset.
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
dcrMergedCoaddId_bits:
    persistable: ignored
    storage: ignored
    python: lsst.daf.base.PropertySet
    template: ignored
donutDriver_config:
    persistable: Config
    storage: ConfigStorage
    python: lsst.donut.donutDriver.DonutDriverConfig
    template: config/DonutDriver.py
fitDonut_config:
    persistable: Config
    python: lsst.donut.fitDonut.FitDonutConfig
    storage: ConfigStorage
    template: config/fitDonut.py
fitDonut_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: metadata/fitDonut.yaml
donutSrc:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    tables: raw
    template: ''
donut_schema:
    persistable: SourceCatalog
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/donut.fits
skyCorr_config:  # Configuration for sky correction
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.skyCorrection.SkyCorrectionConfig
    template: config/skyCorr.py
sky_config:  # Configuration for sky frame construction
    persistable: Config
    storage: ConfigStorage
    python: lsst.pipe.drivers.constructCalibs.SkyConfig
    template: config/sky.py
skyCorr:  # Result of sky correction
    persistable: PurePythonClass
    storage: FitsCatalogStorage
    python: lsst.afw.math.BackgroundList
    tables: raw
    template: ''
calexp_camera:  # Camera-level view of calexp after sky correction
    template: ''
    persistable: ImageF
    python: lsst.afw.image.ImageF
    storage: FitsStorage
    level: None
verify_job:  # Dataset to hold metrics, specs and measurements from lsst_verify as lsst.verify.job
    template: verify/job.json
    persistable: ignored # Not persistable yet
    storage: ignored
# TransmissionCurve datasets below should ideally be calibrations so they can have temporal
# dependence, but we can defer that to Gen. 3 Butler since the concrete ones we have don't
# have any temporal dependence yet.
transmission_filter:
    description: "Wavelength-dependent throughput due to the filter itself, in focal plane coordinates."
    template: 'transmission/filter-%(filter)s.fits'
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
transmission_sensor:
    description: "Wavelength-dependent throughput due to the sensor, in post-ISR CCD coordinates."
    template: ''
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
transmission_optics:
    description: "Wavelength-dependent throughput due to the optics, in focal-plane coordinates."
    template: 'transmission/optics.fits'
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
transmission_atmosphere:
    description: "Wavelength-dependent throughput due to the atmosphere (spatially constant)."
    template: 'transmission/atmosphere.fits'
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
fgcmBuildStars_config:
    description: >
      Configuration of FgcmBuildStarsTask, used to concatenate and match
      star observations for FGCM global calibration.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.FgcmBuildStarsConfig
    template: config/fgcmBuildStars.py
fgcmBuildStarsTable_config:
    description: >
      Configuration of FgcmBuildStarsTableTask, used to concatenate and match
      star observations for FGCM global calibration.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.FgcmBuildStarsTableConfig
    template: config/fgcmBuildStarsTable.py
fgcmMakeLut_config:
    description: >
      Configuration of FgcmMakeLutTask, used to build an atmospheric/instrument
      look-up table.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.fgcmMakeLut.FgcmMakeLutConfig
    template: config/fgcmMakeLut.py
fgcmFitCycle_config:
    description: >
      Configuration of FgcmFitCycleTask, used for global photometric
      calibration fit.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.fgcmFitCycle.FgcmFitCycleConfig
    template: config/fgcmFitCycle-%(fgcmcycle)02d.py
fgcmOutputProducts_config:
    description: >
      Configuration of FgcmOutputProductsTask, used for final output of
      FGCM zeropoints and atmosphere products.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.fgcmOutputProducts.FgcmOutputProductsConfig
    template: config/fgcmOutputProducts.py
fgcmCalibrateTract_config:
    description: >
      Configuration of FgcmCalibrateTractTask, used for running fgcmcal
      on a single tract.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.fgcmCalibrateTract.FgcmCalibrateTractConfig
    template: config/fgcmCalibrateTract.py
fgcmCalibrateTractTable_config:
    description: >
      Configuration of FgcmCalibrateTractTableTask, used for running
      fgcmcal on a single tract, with sourceTable_visit tables.
    persistable: Config
    storage: ConfigStorage
    python: lsst.fgcmcal.fgcmCalibrateTractTable.FgcmCalibrateTractTableConfig
    template: config/fgcmCalibrateTractTable.py
fgcmVisitCatalog:
    description: >
      Catalog of visit information used for input to FGCM global photometric fit.
      Generated in FgcmBuildStarsTask and used in FgcmFitCycleTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmVisitCatalog.fits
fgcmStarObservations:
    description: >
      Catalog of star observations for FGCM global photometric fit.
      Generated in FgcmBuildStarsTask and used in FgcmFitCycleTask.
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmStarObservations.fits
fgcmStarIds:
    description: >
      Catalog of FGCM star identifiers for FGCM global photometric fit.
      Generated in FgcmBuildStarsTask and used in FgcmFitCycleTask.
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmStarIds.fits
fgcmStarIndices:
    description: >
      Catalog of quick look-up indices for FGCM global photometric fit.
      Generated in FgcmBuildStarsTask and used in FgcmFitCycleTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmStarIndices.fits
fgcmReferenceStars:
    description: >
      Catalog of reference stars matched to fgcmStarIds for FGCM global
      photometric fit.  Generated in FgcmBuildStarsTask and
      used in FgcmFitCycleTask.
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmReferenceStars.fits
fgcmLookUpTable:
    description: >
      Atmosphere + instrument look-up-table for FGCM throughput and chromatic
      corrections.  Generated in FgcmMakeLutTask and used in FgcmFitCycleTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmLookUpTable.fits
fgcmZeropoints:
    description: >
      Catalog of exposure zeropoints and associated quality flags output by
      FGCM global photometric fit.  Generated in FgcmFitCycleTask and
      used in FgcmOutputProductsTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmZeropoints-%(fgcmcycle)02d.fits
fgcmAtmosphereParameters:
    description: >
      Catalog of atmosphere model parameters for each visit constrained by
      FGCM global photometric fit.  Generated in FgcmFitCycleTask and
      used in FgcmOutputProductsTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmAtmosphereParameters-%(fgcmcycle)02d.fits
fgcmFitParameters:
    description: >
      Internal catalog of fit parameters from FGCM global photometric fit,
      used for input to next fit cycle in FgcmFitCycleTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmFitParameters-%(fgcmcycle)02d.fits
fgcmFlaggedStars:
    description: >
      Internal catalog of stars flagged (bad or reserved stars),
      used for input to next FGCM fit cycle in FgcmFitCycleTask.
    persistable: BaseCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.BaseCatalog
    template: fgcm-process/fgcmFlaggedStars-%(fgcmcycle)02d.fits
fgcmStandardStars:
    description: >
      Catalog of FGCM standard stars with magnitudes generated from FGCM global fit.
      These magnitudes may not have absolute calibration offsets applied.
      Generated in FgcmFitCycleTask and used in FgcmOutputProductsTask.
    persistable: SimpleCatalog
    storage: FitsCatalogStorage
    tables: raw
    python: lsst.afw.table.SimpleCatalog
    template: fgcm-process/fgcmStandardStars-%(fgcmcycle)02d.fits
transmission_atmosphere_fgcm:
    description: >
      Wavelength-dependent throughput due to the atmosphere as constrained
      by FGCM (spatially constant).  Generated in FgcmOutputProductsTask.
    template: ''
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
transmission_atmosphere_fgcm_tract:
    description: >
      Wavelength-dependent throughput due to atmosphere as constrained
      by FGCM per tract (spatially constant).  Generated in FgcmCalibrateTractTask.
    template: ''
    persistable: TransmissionCurve
    python: lsst.afw.image.TransmissionCurve
    storage: FitsCatalogStorage
    level: None
fgcm_photoCalib:
    description: "Photometric calibration produced by FGCM; generated in FgcmOutputProductsTask."
    persistable: PhotoCalib
    storage: FitsCatalogStorage
    python: lsst.afw.image.PhotoCalib
    tables: raw
    template: ''
fgcm_tract_photoCalib:
    description: "Photometric calibration produced by FGCM per tract; generated in FgcmCalibrateTractTask."
    persistable: PhotoCalib
    storage: FitsCatalogStorage
    python: lsst.afw.image.PhotoCalib
    tables: raw
    template: ''
apPipe_config:
    persistable: Config
    python: lsst.ap.pipe.ApPipeConfig
    storage: ConfigStorage
    template: config/apPipe.py
apPipe_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
apdb_marker:
    description: >
        Tag that indicates that data for a particular exposure have been stored in the APDB.
        As a convenience, can be read for config information about accessing the APDB.
    persistable: Config
    storage: ConfigStorage
    python: lsst.dax.apdb.ApdbConfig
    tables: raw
    template: ''
deepCoadd_obj: #consolidated multi-band object tables from coadd
    description: >
        Consolidated coadd multi-band object table, a merge of
        deepCoadd_meas, deepCoadd_forced_src and deepCoadd_ref tables for multiple bands.
        This is stored as a DataFrame with a multi-level column index; access a particular
        subtable with, e.g. catalog.to_df(columns=dict(dataset='meas', filter='HSC-G'));
        see MultilevelParquetTable documentation for more.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/obj-%(tract)d-%(patch)s.parq
writeObjectTable_config:
    persistable: Config
    python: lsst.pipe.tasks.postprocess.WriteObjectTableConfig
    storage: ConfigStorage
    template: config/writeObjectTable.py
writeSourceTable_config:
    persistable: Config
    python: lsst.pipe.tasks.postprocess.WriteSourceTableConfig
    storage: ConfigStorage
    template: config/writeSourceTable.py
deepCoadd_qa:
    description: >
        Quantities useful for QA, computed from the deepCoadd_obj catalog.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    template: deepCoadd-results/qa/%(tract)d/%(patch)s/qa-%(tract)d-%(patch)s.parq
deepCoadd_sg:
    description: >
        Quantities needed for the star galaxy separation task computed from the deepCoadd_obj catalog.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/sg-%(tract)d-%(patch)s.parq
deepCoadd_sg_features:
    description: >
        Features needed to train the star galaxy separation task computed from the deepCoadd_obj catalog.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/sg-feats-%(tract)d-%(patch)s.parq
writeQATable_config:
    persistable: Config
    python: lsst.pipe.tasks.writeQATable.WriteQATableConfig
    storage: ConfigStorage
    template: config/writeQATable.py
consolidateQATable_config:
    persistable: Config
    python: lsst.pipe.tasks.consolidateQATable.ConsolidateQATableConfig
    storage: ConfigStorage
    template: config/consolidateQATable.py
deepCoadd_qa_tract:
    description: >
        Contents same as deepCoadd_qa, but consolidated one-per-tract.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.MultilevelParquetTable
    template: deepCoadd-results/qa/%(tract)d/qa-%(tract)d.parq
dcrDiff_config:
    template:      config/dcrDiff.py
    python:        lsst.pipe.tasks.imageDifference.ImageDifferenceConfig
    persistable:   Config
    storage:       ConfigStorage
    tables:        'raw'
dcrDiff_metadata:
    template:      ''
    python:        lsst.daf.base.PropertySet
    persistable:   PropertySet
    storage:       YamlStorage
    tables:        'raw'
dcrDiff_diaSrc:
    description: "Catalog of sources detected on dcrDiff_differenceExp."
    template:      ''
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
dcrDiff_diaSrc_schema:
    template:      schema/dcrDiff_diaSrc.fits
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
dcrDiff_kernelSrc:
    description: "Source catalog of stars that were used to compute the matching kernel in ImageDifferenceTask."
    template:      ''
    python:        lsst.afw.table.SourceCatalog
    persistable:   SourceCatalog
    storage:       FitsCatalogStorage
    tables:        'raw'
makeBrighterFatterKernel_config:
    description: "Configuration for the brighter-fatter coefficient calculation code."
    persistable: Config
    python: lsst.cp.pipe.makeBrighterFatterKernel.MakeBrighterFatterKernelTaskConfig
    storage: ConfigStorage
    tables:
    - raw
    - raw_visit
    template: config/makeBrighterFatterKernel.py
makeBrighterFatterKernel_metadata:
    description: "Metadata for the brighter-fatter coefficient calculation code."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: brighterFatter_metadata/brighterFatter_metadata.yaml
processStar_config:
    description: "Configuration for the processStar task."
    persistable: Config
    python: lsst.atmospec.ProcessStarTaskConfig
    storage: ConfigStorage
    tables:
    - raw
    template: config/processStarConfig.py
processStar_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: processStar_metadata/%(expId)d_metadata.yaml
spectractorOutputRoot:
    description: "A dataset to allow butlers to get paths for Spectractor output"
    persistable: ignored
    python: None
    storage: PickleStorage
    template: 'spectractorOutput/v%(expId)d/'
brighterFatterKernel:
    description: >
        The new brighter-fatter kernels as generated by the makeBrighterFatterKernel in cp_pipe, not to be
        confused with the old hand-generated bfKernel in obs_subaru.
    persistable: ignored
    storage: PickleStorage
    python: lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel
    tables: raw
    template: ''
brighterFatterGain:
    description: "The per-amplifier gains, as calculated and used by the brighter-fatter task."
    persistable: ignored
    storage: PickleStorage
    python: lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterGain
    tables: raw
    template: ''
plotBrighterFatterPtc:
    description: "Plots of the photon transfer curve, as made by the brighter-fatter task."
    persistable: None
    python: None
    storage: MatplotlibStorage
    tables: raw
    template: ''
deepCoadd_sg_features_tract:
    description: >
        Contents same as deepCoadd_sg_features, but consolidated one-per-tract.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: deepCoadd-results/merged/%(tract)d/sg-feats-%(tract)d.parq
transformSourceTable_config:
    description: >
        Configuration for Task to transform `source` table into sourceTable
    persistable: Config
    python: lsst.pipe.tasks.postprocess.TransformSourceTableConfig
    storage: ConfigStorage
    template: config/transformSourceTable.py
transformObjectCatalog_config:
    description: >
        Configuration for Task to transform deepCoadd_obj table into objectTable
    persistable: Config
    python: lsst.pipe.tasks.postprocess.TransformObjectCatalogConfig
    storage: ConfigStorage
    template: config/transformObjectCatalog.py
consolidateObjectTable_config:
    description: >
        Configuration for Task to concatenate objectTables
    persistable: Config
    python: lsst.pipe.tasks.postprocess.ConsolidateObjectTableConfig
    storage: ConfigStorage
    template: config/consolidateObjectTable.py
objectTable:
    description: >
        Per-Patch DPDD Object Table computed from the deepCoadd_obj catalog
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/objectTable-%(tract)d-%(patch)s.parq
objectTable_tract:
    description: >
        Per-tract DPDD Object Table
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: deepCoadd-results/merged/%(tract)d/objectTable-%(tract)d.parq
analysisVisitTable:
    description: >
        Per-visit source table (for specific tract) assembled by pipe_analysis scripts.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/%(tract)d_%(visit)d.parq
analysisVisitTable_commonZp:
    description: >
        Per-visit source table (for specific tract) assembled by pipe_analysis scripts,
        with common zero-point.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/%(tract)d_%(visit)d_commonZp.parq
analysisAstromMatchFullRefVisitTable:
    description: >
        Per-visit table (for specific tract) of the matched source-to-external astrometric
        reference catalog assembled by pipe_analysis scripts.  The table is "denormalized",
         i.e. contains all fields from the original source and external catalogs (but with
        "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/%(tract)d_%(visit)d_astromMatchFullRef.parq
analysisPhotomMatchFullRefVisitTable:
    description: >
        Per-visit table (for specific tract) of the matched source-to-external photometric
        reference catalog assembled by pipe_analysis scripts.  The table is "denormalized",
         i.e. contains all fields from the original source and external catalogs (but with
        "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/%(tract)d_%(visit)d_photomMatchFullRef.parq
analysisCoaddTable_forced:
    description: >
        Per-tract object table assembled by pipe_analysis scripts (forced photometry).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_forced.parq
analysisCoaddTable_unforced:
    description: >
        Per-tract object table assembled by pipe_analysis scripts (unforced photometry).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_unforced.parq
analysisAstromMatchFullRefCoaddTable_forced:
    description: >
        Per-tract table of the matched source-to-external astrometric reference
        catalog assembled by pipe_analysis scripts (forced photometry).  The table
        is "denormalized", i.e. contains all fields from the original source and
        external catalogs (but with "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_astromMatchFullRef_forced.parq
analysisAstromMatchFullRefCoaddTable_unforced:
    description: >
        Per-tract table of the matched source-to-external astrometric reference
        catalog assembled by pipe_analysis scripts (unforced photometry).  The table
        is "denormalized", i.e. contains all fields from the original source and
        external catalogs (but with "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_astromMatchFullRef_unforced.parq
analysisPhotomMatchFullRefCoaddTable_forced:
    description: >
        Per-tract table of the matched source-to-external photometric reference
        catalog assembled by pipe_analysis scripts (forced photometry).  The table
        is "denormalized", i.e. contains all fields from the original source and
        external catalogs (but with "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_photomMatchFullRef_forced.parq
analysisPhotomMatchFullRefCoaddTable_unforced:
    description: >
        Per-tract table of the matched source-to-external photometric reference
        catalog assembled by pipe_analysis scripts (unforced photometry).  The table
        is "denormalized", i.e. contains all fields from the original source and
        external catalogs (but with "src_" and "ref_" prefixes on the column names).
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d%(subdir)s/%(tract)d_photomMatchFullRef_unforced.parq
analysisColorTable:
    description: >
        Principal color table assembled by pipe_analysis scripts.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/color/tract-%(tract)d%(subdir)s/%(tract)d_color.parq
visitMatchTable:
    description: >
        Tract-level table of visit-match IDs and distances for each visit.
    persistable: ignored
    storage: ParquetStorage
    python: lsst.pipe.tasks.parquetTable.ParquetTable
    template: plots/%(filter)s/tract-%(tract)d/%(tract)d_visit_match.parq
matchVisits_config:
    description: >
        Configuration for Task to match visit tables to coadd table.
    persistable: Config
    python: lsst.qa.explorer.matchVisits.MatchVisitsConfig
    storage: ConfigStorage
    template: config/matchVisits.py

# The 'ngmix' and 'mcal' datasets below are produced by CmdLineTasks in the
# meas_extensions_ngmix package, which is not part of the LSST pipelines now
# but is very much a prototype of something that someday will be.
# Unfortunately there's no good way to define these dataset types downstream
# until we can use PipelineTask, so those datasets are instead defined here.
deepCoadd_ngmix:
    description: Output catalog from running ngmix on coadds.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/ngmix-%(tract)d-%(patch)s.fits
deepCoadd_ngmix_schema:
    description: Zero-size schema catalog for deepCoadd_ngmix
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/ngmix.fits
deepCoadd_ngmix_deblended:
    description: Output catalog from running ngmix on deblended coadds.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/ngmix-deblended-%(tract)d-%(patch)s.fits
deepCoadd_ngmix_deblended_schema:
    description: Zero-size schema catalog for deepCoadd_ngmix_deblended
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/ngmix-deblended.fits
deepCoadd_mcalmax:
    description: Output catalog from running metacal on coadds using max likelihood.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/mcalmax-%(tract)d-%(patch)s.fits
deepCoadd_mcalmax_schema:
    description: Zero-size schema catalog for deepCoadd_mcalmax
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/mcalmax.fits
deepCoadd_mcalmax_deblended:
    description: Output catalog from running metacal on deblended coadds using max likelihood.
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: deepCoadd-results/merged/%(tract)d/%(patch)s/mcalmax-deblended-%(tract)d-%(patch)s.fits
deepCoadd_mcalmax_deblended_schema:
    description: Zero-size schema catalog for deepCoadd_mcalmax_deblended
    persistable: ignored
    storage: FitsCatalogStorage
    python: lsst.afw.table.SourceCatalog
    template: schema/mcalmax-deblended.fits
findDefects_config:
    description: "Configuration for the defect finding task."
    persistable: Config
    python: lsst.cp.pipe.defects.FindDefectsTaskConfig
    storage: ConfigStorage
    tables:
    - raw
    template: config/findDefects.py
findDefects_metadata:
    description: "Metadata for the defect finding task."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: findDefects_metadata/%(detector)03d.yaml
measurePhotonTransferCurve_config:
    description: "Configuration for the photon transfer curve measurement task."
    persistable: Config
    python: lsst.cp.pipe.ptc.MeasurePhotonTransferCurveTaskConfig
    storage: ConfigStorage
    tables:
    - raw
    template: config/measurePhotonTransferCurve.py
measurePhotonTransferCurve_metadata:
    description: "Metadata for the photon transfer curve measurement task."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: ''
photonTransferCurveDataset:
    description: "Persisted output data from the MeasurePhotonTransferCurveTask"
    persistable: ignored
    python: lsst.ip.isr.PhotonTransferCurveDataset
    storage: FitsCatalogStorage
    tables: 'raw'
    template: ''
plotPhotonTransferCurve_config:
    description: "Configuration for the photon transfer curve plotting task."
    persistable: Config
    python: lsst.cp.pipe.ptc.PlotPhotonTransferCurveTaskConfig
    storage: ConfigStorage
    tables:
    - raw
    template: config/plotPhotonTransferCurve.py
plotPhotonTransferCurve_metadata:
    description: "Metadata for the photon transfer curve plotting task."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: ''
measureLinearity_config:
    description: "Configuration for the linearity fitting task."
    persistable: Config
    python: lsst.cp.pipe.linearity.MeasureLinearityConfig
    storage: ConfigStorage
    template: config/measureLinearity.py
measureLinearity_metadata:
    description: "Metadata for the linearity fitting task."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    template: ''
linearizePolynomial:
    description: "General polynomial coefficients for linearizer from MeasurePhotonTransferCurveTask"
    persistable: ignored
    python: lsst.ip.isr.linearize.Linearizer
    storage: FitsCatalogStorage
    tables: 'raw'
    template: ''
linearizeLut:
    description: "Lookup table linearizer from MeasurePhotonTransferCurveTask"
    persistable: ignored
    python: lsst.ip.isr.linearize.Linearizer
    storage: FitsCatalogStorage
    tables: 'raw'
    template: ''
linearizeSquared:
    description: "Quadratic polynomial coefficients for linearizer from MeasurePhotonTransferCurveTask"
    persistable: ignored
    python: lsst.ip.isr.linearize.Linearizer
    storage: FitsCatalogStorage
    tables: 'raw'
    template: ''
cpPipePlotRoot:
    description: "A dataset for the root path for cp_pipe plots"
    persistable: ignored
    python: MatplotlibStorage
    storage: PickleStorage
    template: 'plots/'
matchedVisitMetrics_config:
    description: >
      Configuration of matchedVisitMetricsTask, part of validate_drp
    persistable: Config
    storage: ConfigStorage
    python: lsst.validate.drp.matchedVisitMetricsTask.MatchedVisitMetricsConfig
    template: config/matchedVisitMetrics.py
measureCrosstalk_config:
    description: "Configuration for MeasureCrosstalkTask."
    persistable: Config
    storage: ConfigStorage
    python: lsst.cp.pipe.measureCrosstalk.MeasureCrosstalkConfig
    template: config/measureCrosstalk.py
measureCrosstalk_metadata:
    description: "Metadata for MeasureCrosstalkTask."
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''
crosstalkCalib:
    description: "Crosstalk calibration."
    persistable: ignored
    python: lsst.ip.isr.crosstalk.CrosstalkCalib
    storage: YamlStorage
    tables: raw
    template: ''
brightStarStamps:
    description: A set of processed postage stamps, each containing a single bright star.
    persistable: BrightStarStamps
    python: lsst.meas.algorithms.brightStarStamps.BrightStarStamps
    storage: FitsStorage
    level: Ccd
    tables: raw
    template:
processBrightStars_config:
    persistable: Config
    python: lsst.pipe.tasks.processBrightStars.ProcessBrightStarsConfig
    storage: ConfigStorage
    template: config/processBrightStars.py
processBrightStars_metadata:
    persistable: PropertySet
    storage: YamlStorage
    python: lsst.daf.base.PropertySet
    tables: raw
    template: ''

