exposures:
  _raw:
    template: raw/%(run)s/%(raftName)s/%(expId)08d-%(raftName)s-%(detectorName)s-det%(detector)03d.fits[0]
  raw_amp:
    template: raw/%(run)s/%(raftName)s/%(expId)08d-%(raftName)s-%(detectorName)s-det%(detector)03d.fits[%(channel)d]
  postISRCCD:
    template: postISRCCD/%(expId)08d-%(filter)s/%(raftName)s/postISRCCD_%(expId)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  postISRCCD_uninterpolated:
    template: postISRCCD/%(expId)08d-%(filter)s/%(raftName)s/postISRCCD_%(expId)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d-preInterp.fits
  calexp:
    template: calexp/%(visit)08d-%(filter)s/%(raftName)s/calexp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  fakes_calexp:
    template: calexp/%(visit)013d-%(filter)s/%(raftName)s/tract%(tract)d/fakes_calexp_%(visit)013d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  icExp:
    template: icExp/%(visit)08d-%(filter)s/%(raftName)s/icExp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  wcs:
    template: wcs/%(visit)08d-%(filter)s/%(raftName)s/wcs_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  fcr:
    template: fcr/%(visit)08d-%(filter)s/%(raftName)s/fcr_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  deepCoadd_directWarp:
    template: deepCoadd/%(filter)s/%(tract)d/%(patch)s/warp-%(filter)s-%(tract)d-%(patch)s-%(visit)d.fits
  deepCoadd_psfMatchedWarp:
    template: deepCoadd/%(filter)s/%(tract)d/%(patch)s/psfMatchedWarp-%(filter)s-%(tract)d-%(patch)s-%(visit)d.fits
  dcrCoadd_directWarp:
    template: dcrCoadd/%(filter)s%(subfilter)d/%(tract)d/%(patch)s/warp-%(filter)s%(subfilter)d-%(tract)d-%(patch)s-%(visit)d.fits
  deepDiff_differenceExp:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/diffexp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  deepDiff_matchedExp:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/matchexp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  dcrDiff_differenceExp:
    template: dcrDiff/v%(visit)08d-f%(filter)s/%(raftName)s/diffexp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  dcrDiff_matchedExp:
    template: dcrDiff/v%(visit)08d-f%(filter)s/%(raftName)s/matchexp_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits

datasets:
  apCorr:
    template: apCorr/%(visit)08d-%(filter)s/%(raftName)s/apCorr_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.pickle
  calexpBackground:
    template: calexp/%(visit)08d-%(filter)s/%(raftName)s/bkgd_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  calexp_camera:
    template: calexp_camera/%(visit)08d-%(filter)s/calexp_camera_%(visit)08d-%(filter)s.fits
  skyCorr:
    template: skyCorr/%(visit)08d-%(filter)s/%(raftName)s/skyCorr_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  dcrDiff_diaSrc:
    template: dcrDiff/v%(visit)08d-f%(filter)s/%(raftName)s/diaSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  dcrDiff_kernelSrc:
    template: dcrDiff/v%(visit)08d-f%(filter)s/%(raftName)s/kernelSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  dcrDiff_metadata:
    template: dcrDiff/v%(visit)08d-f%(filter)s/%(raftName)s/metadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  deepDiff_diaSrc:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/diaSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  deepDiff_kernelSrc:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/kernelSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  deepDiff_metadata:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/metadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  forced_metadata:
    template: forced_metadata/%(visit)08d-%(filter)s/%(raftName)s/forcedMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  forced_src:
    template: forced/%(visit)08d-%(filter)s/%(raftName)s/forced_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  forcedPhotCcd_metadata:
    template: forcedPhotCcd_metadata/%(visit)08d-%(filter)s/%(raftName)s/forcedPhotCcd_metadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  icExpBackground:
    template: icExp/%(visit)08d-%(filter)s/%(raftName)s/bkgd_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  icSrc:
    template: icSrc/%(visit)08d-%(filter)s/%(raftName)s/icSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  processCcd_metadata:
    template: processCcd_metadata/%(visit)08d-%(filter)s/%(raftName)s/processCcdMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  raw_hdu:
    template: raw/%(run)s/%(raftName)s/%(visit)08d-%(raftName)s-%(detectorName)s-det%(detector)03d.fits[0]
  src:
    template: src/%(visit)08d-%(filter)s/%(raftName)s/src_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  source:
    template: src/%(visit)08d-%(filter)s/%(raftName)s/source_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.parq
  fakes_source:
    template: src/%(visit)08d-%(filter)s/%(raftName)s/fakes_source_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.parq
  sourceTable:
    template: src/%(visit)08d-%(filter)s/%(raftName)s/sourceTable_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.parq
  sourceTable_visit:
    template: src/%(visit)08d-%(filter)s/sourceTable_%(visit)08d-%(filter)s.parq
  fakes_src:
    template: src/%(visit)08d-%(filter)s/%(raftName)s/tract%(tract)d/fakes_src_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  srcMatch:
    template: srcMatch/%(visit)08d-%(filter)s/%(raftName)s/srcMatch_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  transformSrcMeasurement_metadata:
    template: transformSrcMeasurement_metadata/%(visit)08d-%(filter)s/%(raftName)s/transformSrcMeasurementMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  transformed_src:
    template: transformedSrc/%(visit)08d-%(filter)s/%(raftName)s/transformedSrc_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  apPipe_metadata:
    template: apPipe_metadata/%(visit)08d-%(filter)s/%(raftName)s/apPipeMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  runIsr_metadata:
    template: runIsr_metadata/%(visit)08d-%(filter)s/%(raftName)s/runIsrMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  ossThumb:
    template: thumbs/%(visit)08d-%(filter)s/%(raftName)s/ossThumb_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.png
  flattenedThumb:
    template: thumbs/%(visit)08d-%(filter)s/%(raftName)s/flattenedThumb_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.png
  deepDiff_forced_diaSrc:
    template: deepDiff/v%(visit)08d-f%(filter)s/%(raftName)s/diaForced_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
  imageDifferenceDriver_metadata:
    template: imageDifferenceDriver_metadata/%(visit)08d-%(filter)s/%(tract)d/%(patch)s/imageDifferenceDriverMetadata_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.yaml
  plotVisit:
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/plot-v%(visit)d-%(description)s-%(style)s.png
  plotCompareVisit:
    template: plots/%(filter)s/tract-%(tract)d/visit-%(visit)d%(subdir)s/compareVisit-v%(visit)d-%(description)s-%(style)s.png
  # Focal plane summary plots
  focal_plane_fits:
    template: focal_plane/%(dstype)s-v%(visit)08d.fits
  focal_plane_png:
    template: focal_plane/%(dstype)s-v%(visit)08d.png
  binned_sensor_fits:
    template: binned_sensor/%(dstype)s-v%(visit)08d/%(raftName)s/%(detectorName)s.fits
  binned_sensor_fits_halves:
    template: binned_sensor/%(dstype)s-v%(visit)08d/%(raftName)s/%(detectorName)s_%(half)s.fits
