Index: branches/eam_branches/ipp-20140904/ippconfig/Makefile.am
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/Makefile.am	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/Makefile.am	(revision 37802)
@@ -4,4 +4,5 @@
 	gpc1 \
 	gpc1-tdi \
+	gpc2 \
 	cfh12k \
 	megacam \
Index: branches/eam_branches/ipp-20140904/ippconfig/configure.ac
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/configure.ac	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/configure.ac	(revision 37802)
@@ -15,4 +15,5 @@
   gpc1/Makefile
   gpc1-tdi/Makefile
+  gpc2/Makefile
   cfh12k/Makefile
   megacam/Makefile
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc1/format_20100723.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc1/format_20100723.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc1/format_20100723.config	(revision 37802)
@@ -210,4 +210,6 @@
         FPA.BURNTOOL.APPLIED STR BTOOLAPP
 	CHIP.VIDEOCELL  STR     CELLMODE
+
+        FPA.SHUTOUTC	STR	SHUTOUTC
 
         FPA.PON.TIME    STR     PONTIME
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc1/ppStack.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc1/ppStack.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc1/ppStack.config	(revision 37802)
@@ -277,4 +277,185 @@
 
 
+
+
+STACK_CNP_PV3_IQ_1DG  METADATA       ## revised -- based on STACK_THREEPI/STACK_MD_DEEP_1DG -- not complete
+    OUTPUT.NOCOMP   	    BOOL  FALSE
+    OUTPUT.LOGFLUX  	    BOOL  TRUE
+    STACK.TYPE              STR   DEEP_STACK
+    PSF.INPUT.CLIP.SIMPLE   BOOL  True
+    PSF.INPUT.MAX           F32   10.0    #  
+    PSF.INPUT.CLIP.NSIGMA   F32   100.0
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ        F32    4.0
+    SAFE		 BOOL	F
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1
+    ## also unclear what rej mods needed
+    ## 
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels 
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
+END
+
+STACK_CNP_PV3_REF_1DG  METADATA  ## revised CNP PV3 REF stack -- not complete
+    OUTPUT.NOCOMP            BOOL  TRUE   # unclear if this necessary for CNP REF
+    OUTPUT.LOGFLUX           BOOL  FALSE  # 
+    OUTPUT.REPLICATE         BOOL  TRUE
+    STACK.TYPE               STR   DEEP_STACK  
+    PSF.INPUT.CLIP.SIMPLE    BOOL  True
+    PSF.INPUT.MAX            F32   10.0   # CNP large FWHM, center/edge vary 1-2 pix? 
+    PSF.INPUT.CLIP.NSIGMA    F32   1.0    # sample typically on rising side of distribution (set smaller?)
+    PSF.INPUT.THRESH         F32   NAN
+    PSF.INPUT.ASYMMETRY      F32   NAN
+    MATCH.REJ                F32   4.0    # need ot tune?
+    SAFE                     BOOL  FALSE
+    PSF.TARGET.AS.MAX        BOOL  TRUE   # Set the target PSF FWHM as the maximum of accepted input FWHM values.
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1     # set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
+    ## extra rej -- turn default for initial test run 
+    #THRESHOLD.MASK  F32     0.1          # Threshold for mask deconvolution (0..1)
+    #COMBINE.ITER    F32     0.5          # Number of rejection iterations per input
+    #COMBINE.REJ     F32     3.0          # Rejection threshold in combination (sigma)
+    #COMBINE.SYS     F32     0.1          # Relative systematic error in combination
+    #COMBINE.DISCARD F32     0.2          # Discard fraction for Olympic weighted mean
+    #IMAGE.REJ       F32     0.1          # Rejected pixel fraction threshold for rejecting entire image
+    #NMINPIX         S32     4            # Minimum input per pixel
+    #MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels 
+    ##
+    MASK.BLANKBORDER S32    20           # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE        # MUST be FALSE for PV3
+END
+
+STACK_CNP_PV3_DEEP_1DG  METADATA   ## -- not complete
+    OUTPUT.NOCOMP           BOOL  TRUE
+    OUTPUT.LOGFLUX          BOOL  FALSE
+    OUTPUT.REPLICATE        BOOL  TRUE
+    STACK.TYPE              STR   DEEP_STACK
+    PSF.INPUT.CLIP.SIMPLE   BOOL  True
+    PSF.INPUT.MAX           F32   16.0    # large FWHM images up to 20 --  
+    PSF.INPUT.CLIP.NSIGMA   F32   100.0   # do not want to clip really
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ               F32   4.0     # need ot tune?
+    SAFE                    BOOL  FALSE
+    PSF.TARGET.AS.MAX  BOOL  TRUE
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1
+    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
+    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
+    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
+    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
+    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
+    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
+    NMINPIX         S32     3               # Minimum input per pixel -- more and get crazy structures.. 
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels -- many, dont trust SUSPECT
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3 (PV2 bias hack fix)
+END
+
+
+STACK_MD_PV3_NIGHT_1DG  METADATA   ## Revised MD 8 input NIGHT stacks for PV3 -- not complete
+    OUTPUT.NOCOMP             BOOL  FALSE
+    OUTPUT.LOGFLUX            BOOL  FALSE
+    PSF.INPUT.CLIP.SIMPLE     BOOL  True
+    PSF.INPUT.MAX             F32   12.0    # what FWHM does diffim become mostly useless, if any?
+    PSF.INPUT.CLIP.NSIGMA     F32   1000.0  # want to use up to MAX, but sig could possibly be small?
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ               F32   4.0   # need ot tune?
+    SAFE                    BOOL  FALSE
+    ## 
+    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
+    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
+    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
+    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
+    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
+    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
+    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
+    NMINPIX         S32     4               # Minimum input per pixel
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels 
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
+END
+
+STACK_MD_PV3_IQ_1DG       METADATA  ## revised config for MD PV3 IQ stacks -- not complete
+    OUTPUT.NOCOMP           BOOL  TRUE
+    OUTPUT.LOGFLUX          BOOL  FALSE
+    OUTPUT.REPLICATE        BOOL  TRUE
+    STACK.TYPE              STR   DEEP_STACK  ## needed?
+    PSF.INPUT.CLIP.SIMPLE   BOOL  True
+    PSF.INPUT.MAX           F32   10.0   # center/edge can vary 1-2 pix, prefer <6 pix but needs to be <10 pix for edges until code improved..
+    PSF.INPUT.CLIP.NSIGMA   F32   100.0  # any change to inputs can greatly impact edge filling factor..
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ               F32   4.0   # need ot tune?
+    SAFE                    BOOL  FALSE
+    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
+    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
+    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
+    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
+    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
+    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
+    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
+    NMINPIX         S32     4               # Minimum input per pixel
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
+END
+
+STACK_MD_PV3_REF_1DG       METADATA  ## revised config for MD PV3 refstacks -- not complete
+    OUTPUT.NOCOMP           BOOL  TRUE
+    OUTPUT.LOGFLUX          BOOL  FALSE
+    OUTPUT.REPLICATE        BOOL  TRUE
+    STACK.TYPE              STR   DEEP_STACK  ## needed?
+    PSF.INPUT.CLIP.SIMPLE   BOOL  True
+    PSF.INPUT.MAX           F32   7.0   # center/edge can vary 1-2 pix, prefer <6 pix but needs to be <7 pix for edges
+    PSF.INPUT.CLIP.NSIGMA   F32   1.0   # sample typically on rising side of distribution (set even smaller?)
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ               F32   4.0   # need ot tune?
+    SAFE                    BOOL  FALSE
+    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
+    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
+    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
+    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
+    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
+    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
+    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
+    NMINPIX         S32     4               # Minimum input per pixel
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
+END
+
+STACK_MD_PV3_DEEP_1DG     METADATA   ## revised config for MD PV3 deepstack -- not complete
+    OUTPUT.NOCOMP           BOOL  TRUE
+    OUTPUT.LOGFLUX          BOOL  FALSE
+    OUTPUT.REPLICATE        BOOL  TRUE
+    STACK.TYPE              STR   DEEP_STACK
+    PSF.INPUT.CLIP.SIMPLE   BOOL  True
+    PSF.INPUT.MAX           F32   10.0    #  
+    PSF.INPUT.CLIP.NSIGMA   F32   100.0
+    PSF.INPUT.THRESH        F32   NAN
+    PSF.INPUT.ASYMMETRY     F32   NAN
+    MATCH.REJ               F32   4.0     # need ot tune?
+    SAFE                    BOOL  FALSE
+    PSF.TARGET.AS.MAX  BOOL  TRUE
+    PSF.TARGET.AS.MAX.EPSILON F32 0.1
+    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
+    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
+    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
+    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
+    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
+    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
+    NMINPIX         S32     30              # Minimum input per pixel 
+    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
+    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
+    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
+END
+
+
+
 # Recipe overrides for STACK
 STACKPHOT METADATA
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc1/psastro.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc1/psastro.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc1/psastro.config	(revision 37802)
@@ -365,5 +365,6 @@
 #  PSASTRO.CATDIR               STR     PS1.REF.20120503
 #  PSASTRO.CATDIR		STR	PS1.REF.20120524
-   PSASTRO.CATDIR               STR     PS1.REF.20140605
+#   PSASTRO.CATDIR               STR     PS1.REF.20140605
+   PSASTRO.CATDIR               STR     PS1.REF.20140713
    ZERO.POINT.USE.MEAN		BOOL	TRUE  
 END
@@ -396,4 +397,109 @@
    PSASTRO.FIELD.PADDING        F32   0.5
 END
+
+CNP_ASTRO_PV3 METADATA
+   PSASTRO.MAX.ALLOWED.FWHM    F32   25  # larger number typical >12, so include 2x larger
+   PSASTRO.CATDIR              STR   PS1.REF.20140713
+   PSASTRO.GRID.MIN.ANGLE      F32   -20
+   PSASTRO.GRID.MAX.ANGLE      F32   +20
+   PSASTRO.GRID.DEL.ANGLE      F32   0.5
+   PSASTRO.FIELD.PADDING       F32   0.5
+   DVO.GETSTAR.MAX.RHO         F32   5000.0  # globally changed to 10k, huge numbers in soln and larger sigma
+   DVO.GETSTAR.MIN.MAG         F32   8.0     # can go brighter in marginal nights (like MD done every night as possible) 
+   PSASTRO.GRID.NREF.MAX       S32   1600    # defaults 
+   PSASTRO.GRID.NRAW.MAX       S32   800    
+   PSASTRO.MIN.INST.MAG.RAW       F32     -15.0   # min instrumental magnitude for stars accepted for fitting
+   PSASTRO.MAX.INST.MAG.RAW       F32      -8.5   # reduce instrumental faint end a bit (cuts most if rho>5k anyways)
+   PSASTRO.GRID.MIN.INST.MAG.RAW  F32     -15.0   # min instrumental magnitude for stars accepted for grid search
+   PSASTRO.GRID.MAX.INST.MAG.RAW  F32      -8.0   # max instrumental magnitude for stars accepted for grid search
+
+   ZERO.POINT.USE.MEAN         BOOL  TRUE  
+   ## refcat -- want to be able to further limit for ZP, general settings 
+   ## -- concern w/ new refcat >20 extra sources w/ larger merr can over-dominating scatter in ZP 
+   ## -- CLAMP will limit both astrom and zp -- CNP are shorter exposures 
+   REFSTAR_CLAMP_MAG_MAX       F32   20.0  
+   REFSTAR.ZP.MIN.MAG          F32   8.0   
+   REFSTAR.ZP.MAX.MAG          F32   19.0
+   ## for ZP need extra restriction by filter to avoid poorer photometry scatter on faint end
+   ## -- ZP is by exposure so can easily reduce numbers  
+   ## -- cannot restrict on bright end due to possible marginal nights
+   ## -- set for merr<0.03 in refcat, similar to MD
+#   PHOTCODE.DATA MULTI UPDATE
+   PHOTCODE.DATA MULTI   
+   PHOTCODE.DATA METADATA
+     FILTER   STR g
+     PHOTCODE STR g
+     #REFSTAR.ZP.MAX.MAG    F32  19.0
+     REFSTAR.ZP.MAX.MAG    F32  18.0  # changed after PV3.20141111 run to match raw merr
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR r
+     PHOTCODE STR r
+     REFSTAR.ZP.MAX.MAG    F32  18.0
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR i
+     PHOTCODE STR i
+     REFSTAR.ZP.MAX.MAG    F32  18.0
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR z
+     PHOTCODE STR z
+     REFSTAR.ZP.MAX.MAG    F32  18.0
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR y
+     PHOTCODE STR y
+     REFSTAR.ZP.MAX.MAG    F32  17.0
+   END
+END
+
+MD_ASTRO_PV3 METADATA
+   ZERO.POINT.BY.EXPOSURE      BOOL  TRUE
+   ZERO.POINT.USE.MEAN         BOOL  TRUE
+   DVO.GETSTAR.MAX.RHO         F32   6000.0  # was globally changed to 10k
+   PSASTRO.GRID.NREF.MAX       S32   1600    # max stars for grid search from ref catalog
+   PSASTRO.GRID.NRAW.MAX       S32   800     # max stars for grid search from raw/image  
+   DVO.GETSTAR.MIN.MAG         F32   12.0    # leave similar to default, MD in marginal weather and can lose 1-3 mags 
+   DVO.GETSTAR.MIN.MAG.INST    F32   -25.0
+   PSASTRO.CATDIR              STR   PS1.REF.20140713
+   ## refcat may be okay astrom but not faint phot -- so need to be able to further limit by ZP 
+   ## -- concern w/ new refcat >20 extra sources w/ larger merr over-dominating scatter in ZP 
+   ## -- CLAMP will limit both astrom and zp -- 
+   REFSTAR_CLAMP_MAG_MAX       F32   22.0
+   REFSTAR.ZP.MIN.MAG          F32   12.0
+   REFSTAR.ZP.MAX.MAG          F32   19.0
+   ## for ZP need extra limit by filter to avoid poorer photometry scatter on faint end
+   ## -- cannot restrict on bright end due to possible marginal nights
+   ## -- set for merr<0.02-0.03 in refcat, ~similar for each MD field
+#   PHOTCODE.DATA MULTI UPDATE
+   PHOTCODE.DATA MULTI   
+   PHOTCODE.DATA METADATA
+     FILTER   STR g
+     PHOTCODE STR g
+     REFSTAR.ZP.MAX.MAG    F32  19.0
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR r
+     PHOTCODE STR r
+     REFSTAR.ZP.MAX.MAG    F32  19.0
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR i
+     PHOTCODE STR i
+     REFSTAR.ZP.MAX.MAG    F32  18.5
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR z
+     PHOTCODE STR z
+     REFSTAR.ZP.MAX.MAG    F32  18.5
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR y
+     PHOTCODE STR y
+     REFSTAR.ZP.MAX.MAG    F32  17.5
+   END
+END
+
 
 TEST_REFCAT METADATA
@@ -430,5 +536,6 @@
     DVO.GETSTAR.MIN.MAG.INST	F32   -15.0
 #   PSASTRO.CATDIR                       STR     PS1.REF.20120524
-    PSASTRO.CATDIR               STR     PS1.REF.20140605
+#    PSASTRO.CATDIR               STR     PS1.REF.20140605
+    PSASTRO.CATDIR               STR  PS1.REF.20140713
     ZERO.POINT.USE.MEAN                  BOOL    TRUE
 
@@ -525,7 +632,7 @@
 
 ## if defined for MD, needs to have MD name in group so shouldn't be modified except for MD work
-## -- ad hoc limit for NREF due to issues fainter than 19 mag in all filters and brighter than 17.0 mag (except y ~16.5) in MD
-## -- better solution and other issues need to really be dealt with for PV3
-STATICSKY_MD_DEEPCAL   METADATA
+## -- was ad hoc limit for NREF~150, rho~6000 due to issues fainter than 19 mag in all filters and brighter than 17.0 mag (except y ~16.5) in MD
+## -- for PV3 add refcat min/max mag REFSTAR.ZP.MIN.MAG for ZP range only 
+STATICSKY_MD_PV3_DEEPCAL   METADATA
    PSASTRO.CATDIR                  STR   PS1.REF.20140713
    REFSTAR_MASK                    BOOL  FALSE
@@ -537,5 +644,5 @@
    PSASTRO.FIELD.PADDING           F32   0.01   # skycells are well defined, don't need large padding. 1% of 6400 is 64 pixels
    PSASTRO.MAX.NRAW                S32   1500   # include more than MAX.NREF to account for extras like false-positives
-   PSASTRO.MAX.NREF                S32   150    # if edge skycell ~10% then try ~50 to match. increase to help odd bulk offsets
+   PSASTRO.MAX.NREF                S32   500    # if edge skycell ~10% then try ~50 to match. increase to help odd bulk offsets
    PSASTRO.MIN.INST.MAG.RAW        F32   -25.0  # 
    PSASTRO.MAX.INST.MAG.RAW        F32   -5.0
@@ -544,6 +651,6 @@
    DVO.GETSTAR.MAX.RHO             F32   6000.0  # N/sqdeg, slightly larger than MAX.NREF 
    DVO.GETSTAR.MIN.MAG.INST        F32   -25.0   # set absurd range to cover large range of exptime, then clamp...
-   DVO.GETSTAR.MIN.MAG             F32   17.0    # only used if keyword problem so also using CLAMP_MAG_MIN
-   REFSTAR_CLAMP_MAG_MIN           F32   17.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list. seeing offset in brighter stars
+   DVO.GETSTAR.MIN.MAG             F32   15.0    # only used if keyword problem so also using CLAMP_MAG_MIN
+   REFSTAR_CLAMP_MAG_MIN           F32   15.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list. offset in brighter stars
    DVO.GETSTAR.FIXED.ZEROPT        F32   0.0     # not really needed, exptime overly dominates
 
@@ -557,4 +664,41 @@
    PSASTRO.MIN.NSTAR               S32   10   # edges may not have many and require special treatment 
 
-   KH.CORRECT.APPLY              BOOL     FALSE
-END
+   KH.CORRECT.APPLY                BOOL     FALSE
+
+   REFSTAR.ZP.MIN.MAG      F32  15.0  # general refcat zp min/max setting -- need to use photcode below
+   REFSTAR.ZP.MAX.MAG      F32  19.0
+   ## set min to avoid bright turnover and max to limit merr<0.04
+   ## -- 
+#   PHOTCODE.DATA MULTI UPDATE
+   PHOTCODE.DATA MULTI
+   PHOTCODE.DATA METADATA
+     FILTER   STR g
+     PHOTCODE STR g
+     REFSTAR.ZP.MIN.MAG    F32  17.0  #
+     REFSTAR.ZP.MAX.MAG    F32  20.0  #
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR r
+     PHOTCODE STR r
+     REFSTAR.ZP.MIN.MAG    F32  17.0  #
+     REFSTAR.ZP.MAX.MAG    F32  19.0  #
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR i 
+     PHOTCODE STR i
+     REFSTAR.ZP.MIN.MAG    F32  17.0  #
+     REFSTAR.ZP.MAX.MAG    F32  19.0  #
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR z
+     PHOTCODE STR z
+     REFSTAR.ZP.MIN.MAG    F32  16.0  #
+     REFSTAR.ZP.MAX.MAG    F32  18.0  #
+   END
+   PHOTCODE.DATA METADATA
+     FILTER   STR y
+     PHOTCODE STR y
+     REFSTAR.ZP.MIN.MAG    F32  15.0  #
+     REFSTAR.ZP.MAX.MAG    F32  17.0  #
+   END
+END
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/Makefile.am
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/Makefile.am	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/Makefile.am	(revision 37802)
@@ -0,0 +1,22 @@
+
+installdir = $(datadir)/ippconfig/gpc2
+
+install_files = \
+	dvo.config \
+	camera.config \
+	format_raw.config \
+	format_mef.config \
+	format_20140521.config \
+	ppImage.config \
+        ppMerge.config \
+	psphot.config \
+	psastro.config
+
+install_DATA = $(install_files)
+
+install-data-hook:
+	chmod 0755 $(installdir)
+
+EXTRA_DIST = $(install_files)
+
+ACLOCAL_AMFLAGS = -I m4
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/camera.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/camera.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/camera.config	(revision 37802)
@@ -0,0 +1,169 @@
+# Camera configuration file for GPC2: describes the camera
+
+# File formats that we know about
+FORMATS		METADATA
+	MEF		STR	gpc2/format_mef.config
+	# RELPHOT	STR	gpc2/format_relphot.config
+	FORMAT_20140521	STR	gpc2/format_20140521.config
+	FORMAT_RAW	STR	gpc2/format_raw.config # default config from the lab (missing MJD, and maybe other stuff)
+END
+
+
+# Description of camera --- all the chips and the cells that comprise them
+FPA	METADATA
+        XY01  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY02  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY03  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY04  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY05  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY06  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY10  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY11  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY12  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY13  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY14  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY15  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY16  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY17  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY20  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY21  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY22  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY23  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY24  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY25  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY26  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY27  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY30  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY31  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY32  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY33  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY34  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY35  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY36  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY37  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY40  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY41  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY42  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY43  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY44  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY45  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY46  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY47  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY50  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY51  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY52  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY53  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY54  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY55  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY56  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY57  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY60  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY61  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY62  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY63  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY64  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY65  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY66  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY67  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY71  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY72  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY73  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY74  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY75  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+        XY76  STR xy00 xy01 xy02 xy03 xy04 xy05 xy06 xy07 xy10 xy11 xy12 xy13 xy14 xy15 xy16 xy17 xy20 xy21 xy22 xy23 xy24 xy25 xy26 xy27 xy30 xy31 xy32 xy33 xy34 xy35 xy36 xy37 xy40 xy41 xy42 xy43 xy44 xy45 xy46 xy47 xy50 xy51 xy52 xy53 xy54 xy55 xy56 xy57 xy60 xy61 xy62 xy63 xy64 xy65 xy66 xy67 xy70 xy71 xy72 xy73 xy74 xy75 xy76 xy77
+END	   
+
+# internal to external filter names
+FILTER.ID       METADATA
+   r        MULTI
+   r        STR   Not available
+   r        STR   g.00002
+   r        STR   r.00002
+   r        STR   i.00002
+   r        STR   z.00002
+   r        STR   y.00002
+   r        STR   w.00002
+   # the following were needed for detrend.correct because input and output images seem to be inconsistent sometimes:
+   # g        STR   g
+   # r        STR   r
+   # i        STR   i
+   # z        STR   z
+   # y        STR   y
+   # w        STR   w
+   OPEN     STR   OPEN
+END
+
+# Table of strings to use for the class identifier (see ippdb) according to the file level.
+CLASSID         METADATA
+        FPA     STR     fpa
+        CHIP    STR     {CHIP.NAME}
+        CELL    STR     {CHIP.NAME}:{CELL.NAME}
+        fpa     STR     fpa
+        chip    STR     {CHIP.NAME}
+        cell    STR     {CHIP.NAME}:{CELL.NAME}
+END
+
+DVO.CAMERADIR	STR	gpc2		# Camera directory for DVO
+
+# Recipe options
+RECIPES		METADATA
+	PPIMAGE		STR	gpc2/ppImage.config
+	PPMERGE		STR	gpc2/ppMerge.config
+	PSASTRO		STR	gpc2/psastro.config
+ 	PSPHOT		STR	gpc2/psphot.config
+#	PSWARP		STR	gpc2/pswarp.config
+#       PSVIDEOPHOT     STR     gpc2/psvideophot.config
+#	REJECTIONS      STR     gpc2/rejections.config       # rejection recipe
+#	PPSTACK		STR	gpc2/ppStack.config
+END
+
+# reduction classes (recipes which are grouped together)
+REDUCTION	STR	recipes/reductionClasses.mdc
+
+FITSTYPES       STR     recipes/fitstypes.mdc
+
+FILERULES	STR	recipes/filerules-split.mdc
+
+EXTNAME.RULES METADATA
+  CMF.HEAD STR {CHIP.NAME}.hdr
+  CMF.DATA STR {CHIP.NAME}.psf # use .PSF and .EXT?
+  CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
+  CMF.XRAD STR {CHIP.NAME}.xrad # use .PSF and .EXT?
+  CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.XGAL STR {CHIP.NAME}.xgal # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
+
+  PSF.HEAD  STR	{CHIP.NAME}.hdr
+  PSF.TABLE STR {CHIP.NAME}.psf_model
+  PSF.RESID STR {CHIP.NAME}.psf_resid
+END
+
+BLANK.HEADERS	METADATA
+	FPA.TIME	STR	MJD-OBS
+	FPA.EXPOSURE	STR	EXPTIME
+	FPA.AIRMASS	STR	AIRMASS
+	FPA.OBS		STR	EXPNUM
+END
+
+PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.NAME}	# Rule for generating photcode
+
+BURNTOOL.STATE.GOOD        S16  14  # Value for burntool_state with the most recent bt version.
+BURNTOOL.STATE.GOOD.UPDATE S16  13  # for upddate processing accept earlier version
+
+#FOV_REF                     F32     20930   # Field of view of unvignetted region in FPA pixels.
+#FOV_MAX			    F32	    22720
+#NPIX_REF		    S32	    1357799527
+#NPIX_MAX		    S32	    1482790357
+#NPIX_REF 		    S32	    1333206539
+#NPIX_MAX		    S32	    1455690816
+#NPIX_INTERCHIP          S32     103794483
+
+# This sets the maximum size for the fwhm_major.  This is roughly 3", and 98.67% of all exposures in the database are less than this.
+MAX_ALLOWED_FWHM          F32         12
+
+# The set of maskbits that should not be set to NAN in "released" images
+# This value is equal to CONV.POOR | STARCORE | SPIKE | SUSPECT  = 0x5280
+# unfortunately the perl parser won't accept a hex value
+#MASK.NO.CENSOR               U32      21120
+
+METADATA.COMPRESSION         STR      7f # compression mode (nM): n = 1-9, M = f (filtered), h (Huffman), R (run-length)
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/dvo.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/dvo.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/dvo.config	(revision 37802)
@@ -0,0 +1,73 @@
+
+# location of DVO database tables
+MOSAICNAME              GPC1
+
+# keywords used by DVO to interpret the headers
+
+# keyword abstractions:
+#DATE-KEYWORD		DATE-OBS
+#DATE-MODE		yyyy-mm-dd
+#UT-KEYWORD		UTC-OBS
+JD-KEYWORD		NONE
+MJD-KEYWORD		MJD-OBS
+
+# other keyword abstractions
+EXPTIME-KEYWORD		EXPTIME
+AIRMASS-KEYWORD		AIRMASS
+CCDNUM-KEYWORD		EXTNAME
+ST-KEYWORD		NONE
+OBSERVATORY-LATITUDE	20.7070999146
+OBSERVATORY-LONGITUDE	10.4170608521
+
+SUBPIX_DATAFILE		NONE
+
+IMAGE-ID-KEYWORD        IMAGEID
+SOURCE-ID-KEYWORD       SOURCEID
+
+# instrumental magnitude range for calibration mode 
+CAL_INSTMAG_MAX		0
+CAL_INSTMAG_MIN		0
+
+# exclude overscan region from the dB image boundaries
+XOVERSCAN		0
+YOVERSCAN		0
+
+# only upload stars within region; a value of 0 means ignore the limit
+ADDSTAR_XMIN		0
+ADDSTAR_XMAX		0
+ADDSTAR_YMIN		0
+ADDSTAR_YMAX		0
+
+# exclude stars with SN > SNLIMIT (ADDSTAR_SNLIMIT overrides old name MIN_SN_FSTAT)
+ADDSTAR_SNLIMIT		0
+
+# correlation radius (arcseconds)
+ADDSTAR_RADIUS		1.0
+
+# scaled correlation radius 
+ADDSTAR_NSIGMA		0
+
+IMAGE_SCATTER           0.075  # mark images POOR if stdev(Mcal) > IMAGE_SCATTER
+STAR_SCATTER            0.005  # mark stars POOR if stdev(Mrel) > STAR_SCATTER
+IMAGE_OFFSET            0.100  # mark images POOR if abs(delta(Mcal)) > IMAGE_OFFSET
+STAR_CHISQ              10.0   # mark stars POOR if Xm > STAR_CHISQ
+STAR_TOOFEW              2     # mark star FEW if N(good) < STAR_TOOFEW
+GRID_TOOFEW             10     # keep grid FROZEN if N(good) < GRID_TOOFEW
+IMAGE_TOOFEW            10     # mark image FEW if N(good) < IMAGE_TOOFEW
+IMAGE_GOOD_FRACTION     0.05   # mark image FEW if N(good) < IMAGE_GOOD_FRACTION * Nstars
+
+SCATTER_LIM             15.0
+MAG_LIM                 20.0   # select stars brighter than this for relphot analysis
+SIGMA_LIM               0.015  # select measurements with dM < SIGMA_LIM for relphot analysis
+# INST_MAG_MIN         -17     # optional constraints on magnitude ranges
+# INST_MAG_MAX         -13     # optional constraints on magnitude ranges
+
+RELPHOT_GRID_BINNING    256
+RELPHOT_GRID_X 4
+RELPHOT_GRID_Y 4
+
+PM_DT_MIN               0.25
+PM_TOOFEW               4
+POS_TOOFEW              1
+RELASTRO_SIGMA_LIM      0.01  # select measurements with dM < SIGMA_LIM for relphot analysis
+PAR_FACTOR_MIN          0.2
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_20140521.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_20140521.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_20140521.config	(revision 37802)
@@ -0,0 +1,530 @@
+# Refurbished GPC1
+# Change effective from 22 January 2010 (TJD=5219): new CCD temperature keywords
+
+# How to identify this type
+RULE    METADATA
+	ORIGIN		STR	PS2
+        TELESCOP        STR     PS2
+	INSTRUME	STR	gpc2
+        CONTROLR        STR     STARGRASP
+        NAMPS           S32     64
+	MJD-OBS		F64	55400.0		# OP: >=
+END
+
+# How to read this data
+FILE    METADATA
+        PHU             STR     CHIP       # The FITS file represents a single chip
+        EXTENSIONS      STR     CELL       # The extensions represent cells
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
+        CONTENT         STR     DETECTOR   # How to determine content of FITS file
+        CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS        METADATA
+        # CONTENT      =    chip name : type
+        CCID71-2-03-1  STR  XY02:GPCChip
+        CCID71-2-07-2  STR  XY03:GPCChip
+        CCID71-3-08-1  STR  XY04:GPCChip
+        CCID71-1-05-1  STR  XY05:GPCChip
+        CCID71-3-11-3  STR  XY11:GPCChip
+        CCID71-1-10-1  STR  XY12:GPCChip
+        CCID71-3-06-3  STR  XY13:GPCChip
+        CCID71-2-03-2  STR  XY14:GPCChip
+        CCID71-2-08-1  STR  XY15:GPCChip
+        CCID71-2-11-1  STR  XY16:GPCChip
+        CCID71-1-08-4  STR  XY21:GPCChip
+        CCID71-3-03-3  STR  XY22:GPCChip
+        CCID71-3-06-1  STR  XY23:GPCChip
+        CCID71-3-06-2  STR  XY24:GPCChip
+        CCID71-3-06-4  STR  XY25:GPCChip
+        CCID71-1-06-1  STR  XY26:GPCChip
+        CCID71-1-08-2  STR  XY30:GPCChip
+        CCID71-1-05-4  STR  XY31:GPCChip
+        CCID71-1-03-3  STR  XY32:GPCChip
+        CCID71-1-03-2  STR  XY33:GPCChip
+        CCID71-1-06-2  STR  XY34:GPCChip
+        CCID71-1-07-4  STR  XY35:GPCChip
+        CCID71-3-11-2  STR  XY36:GPCChip
+        CCID71-2-12-1  STR  XY37:GPCChip
+        CCID71-1-11-3  STR  XY40:GPCChip
+        CCID71-1-11-2  STR  XY41:GPCChip
+        CCID71-1-09-2  STR  XY42:GPCChip
+        CCID71-2-05-4  STR  XY43:GPCChip
+        CCID71-2-06-2  STR  XY44:GPCChip
+        CCID71-3-03-2  STR  XY45:GPCChip
+        CCID71-2-06-1  STR  XY46:GPCChip
+        CCID71-3-02-1  STR  XY47:GPCChip
+        CCID71-2-10-1  STR  XY51:GPCChip
+        CCID71-2-08-2  STR  XY52:GPCChip
+        CCID71-2-10-2  STR  XY53:GPCChip
+        CCID71-2-11-4  STR  XY54:GPCChip
+        CCID71-3-09-2  STR  XY55:GPCChip
+        CCID71-3-09-1  STR  XY56:GPCChip
+        CCID71-2-03-3  STR  XY61:GPCChip
+        CCID71-1-01-2  STR  XY62:GPCChip
+        CCID71-1-10-2  STR  XY63:GPCChip
+        CCID71-1-05-2  STR  XY64:GPCChip
+        CCID71-1-05-3  STR  XY65:GPCChip
+        CCID71-1-01-4  STR  XY66:GPCChip
+        CCID71-1-03-4  STR  XY72:GPCChip
+        CCID71-2-11-2  STR  XY73:GPCChip
+        CCID71-3-08-2  STR  XY74:GPCChip
+        CCID71-3-11-4  STR  XY75:GPCChip
+
+END
+
+CHIPS   METADATA
+        GPCChip         METADATA
+                # Extension name, cellName:cellType
+                xy00   STR  xy00:GPCCell
+                xy10   STR  xy10:GPCCell
+                xy20   STR  xy20:GPCCell
+                xy30   STR  xy30:GPCCell
+                xy40   STR  xy40:GPCCell
+                xy50   STR  xy50:GPCCell
+                xy60   STR  xy60:GPCCell
+                xy70   STR  xy70:GPCCell
+                xy01   STR  xy01:GPCCell
+                xy11   STR  xy11:GPCCell
+                xy21   STR  xy21:GPCCell
+                xy31   STR  xy31:GPCCell
+                xy41   STR  xy41:GPCCell
+                xy51   STR  xy51:GPCCell
+                xy61   STR  xy61:GPCCell
+                xy71   STR  xy71:GPCCell
+                xy02   STR  xy02:GPCCell
+                xy12   STR  xy12:GPCCell
+                xy22   STR  xy22:GPCCell
+                xy32   STR  xy32:GPCCell
+                xy42   STR  xy42:GPCCell
+                xy52   STR  xy52:GPCCell
+                xy62   STR  xy62:GPCCell
+                xy72   STR  xy72:GPCCell
+                xy03   STR  xy03:GPCCell
+                xy13   STR  xy13:GPCCell
+                xy23   STR  xy23:GPCCell
+                xy33   STR  xy33:GPCCell
+                xy43   STR  xy43:GPCCell
+                xy53   STR  xy53:GPCCell
+                xy63   STR  xy63:GPCCell
+                xy73   STR  xy73:GPCCell
+                xy04   STR  xy04:GPCCell
+                xy14   STR  xy14:GPCCell
+                xy24   STR  xy24:GPCCell
+                xy34   STR  xy34:GPCCell
+                xy44   STR  xy44:GPCCell
+                xy54   STR  xy54:GPCCell
+                xy64   STR  xy64:GPCCell
+                xy74   STR  xy74:GPCCell
+                xy05   STR  xy05:GPCCell
+                xy15   STR  xy15:GPCCell
+                xy25   STR  xy25:GPCCell
+                xy35   STR  xy35:GPCCell
+                xy45   STR  xy45:GPCCell
+                xy55   STR  xy55:GPCCell
+                xy65   STR  xy65:GPCCell
+                xy75   STR  xy75:GPCCell
+                xy06   STR  xy06:GPCCell
+                xy16   STR  xy16:GPCCell
+                xy26   STR  xy26:GPCCell
+                xy36   STR  xy36:GPCCell
+                xy46   STR  xy46:GPCCell
+                xy56   STR  xy56:GPCCell
+                xy66   STR  xy66:GPCCell
+                xy76   STR  xy76:GPCCell
+                xy07   STR  xy07:GPCCell
+                xy17   STR  xy17:GPCCell
+                xy27   STR  xy27:GPCCell
+                xy37   STR  xy37:GPCCell
+                xy47   STR  xy47:GPCCell
+                xy57   STR  xy57:GPCCell
+                xy67   STR  xy67:GPCCell
+                xy77   STR  xy77:GPCCell
+        END
+END
+
+# Specify the cell data
+CELLS   METADATA
+        GPCCell         METADATA
+                CELL.TRIMSEC.SOURCE     STR     HEADER
+                CELL.TRIMSEC            STR     DATASEC
+                CELL.BIASSEC.SOURCE     STR     HEADER
+                CELL.BIASSEC            STR     BIASSEC
+        END
+END
+
+
+# How to translate PS concepts into FITS headers
+TRANSLATION     METADATA
+        FPA.FILTERID    STR     FILTERID
+        FPA.FILTER      STR     FILTERID
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     EQUINOX
+        FPA.OBSTYPE     STR     OBSTYPE
+        FPA.OBJECT      STR     OBJECT
+        FPA.OBS.MODE    STR     OBS_MODE
+        FPA.COMMENT     STR     CMMTOBS
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.POSANGLE    STR     POSANGLE
+	FPA.ROTANGLE	STR	ROT
+        FPA.FOCUS       STR     M2Z
+        FPA.TIME        STR     SHUTOUTC
+        FPA.ALT         STR     ALT
+        FPA.AZ          STR     AZ
+        FPA.TEMP        STR     DETTEM
+        FPA.M1X         STR     M1X
+        FPA.M1Y         STR     M1Y   
+        FPA.M1Z         STR     M1Z   
+        FPA.M1TIP       STR     M1TIP 
+        FPA.M1TILT      STR     M1TILT
+        FPA.M2X         STR     M2X
+        FPA.M2Y         STR     M2Y   
+        FPA.M2Z         STR     M2Z   
+        FPA.M2TIP       STR     M2TIP 
+        FPA.M2TILT      STR     M2TILT
+        FPA.ENV.TEMP    STR     ENVTEM
+        FPA.ENV.HUMID   STR     ENVHUM
+        FPA.ENV.WIND    STR     ENVWIN
+        FPA.ENV.DIR     STR     ENVDIR
+
+        FPA.TELTEMP.M1     STR  TELTEMM1 # Primary mirror temps (C) 
+        FPA.TELTEMP.M1CELL STR  TELTEMMS # Primary mirror support temps (C)   
+        FPA.TELTEMP.M2     STR  TELTEMM2 # Secondary mirror temps (C
+        FPA.TELTEMP.SPIDER STR  TELTEMSP # Spider temperatures (C)  
+        FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
+        FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
+	CHIP.VIDEOCELL  STR     CELLMODE
+
+        FPA.PON.TIME    STR     PONTIME
+
+        CHIP.ID         STR     DETECTOR
+        CELL.XBIN       STR     CCDSUM
+        CELL.YBIN       STR     CCDSUM
+        CELL.X0         STR     IMNPIX1
+        CELL.Y0         STR     IMNPIX2
+        CELL.XPARITY    STR     ATM1_1
+        CELL.YPARITY    STR     ATM2_2
+	CHIP.TEMP	STR	CDETTEM
+	CHIP.TEMPERATURE STR	DETTEM
+        FPA.EXPOSURE    STR     EXPREQ          # Requested exposure time, presumably camera exposure time
+        CELL.EXPOSURE   STR     EXPTIME         # Exposure time measured by shutter
+        CELL.DARKTIME   STR     DARKTIME        # Exposure time for camera
+        CELL.TIME       STR     SHUTOUTC	# Observation time
+        CELL.GAIN       STR     GAIN		# Cell gain (e/ADU)
+        CELL.READNOISE  STR     RDNOISE		# Cell read noise (ADU)
+#       CELL.SATURATION STR     MAXLIN		# Saturation point (ADU)
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+        FPA.TELESCOPE   STR     PS2
+        FPA.INSTRUMENT  STR     GPC2
+        FPA.LONGITUDE   STR     10:25:01.417 # West Longitude in Hours 10.4170608521
+        FPA.LATITUDE    STR     20:42:26.21 # North Latitude in Degrees 20.7070999146
+        FPA.ELEVATION   F32     3048.0 # altitude in meters
+        FPA.DETECTOR    STR     GPC2
+        FPA.TIMESYS     STR     UTC
+	CHIP.XSIZE	S32	4846
+	CHIP.YSIZE	S32	4868
+        CHIP.XPARITY    S32     1
+        CHIP.YPARITY    S32     1
+        CHIP.X0.DEPEND          STR     CHIP.NAME
+        CHIP.X0         METADATA
+          XY01  S32     4971
+          XY02  S32     4971
+          XY03  S32     4971
+          XY04  S32     4971
+          XY05  S32     4971
+          XY06  S32     4971
+          XY10  S32     9942
+          XY11  S32     9942
+          XY12  S32     9942
+          XY13  S32     9942
+          XY14  S32     9942
+          XY15  S32     9942
+          XY16  S32     9942
+          XY17  S32     9942
+          XY20  S32     14913
+          XY21  S32     14913
+          XY22  S32     14913
+          XY23  S32     14913
+          XY24  S32     14913
+          XY25  S32     14913
+          XY26  S32     14913
+          XY27  S32     14913
+          XY30  S32     19884
+          XY31  S32     19884
+          XY32  S32     19884
+          XY33  S32     19884 # should be 19872
+          XY34  S32     19884
+          XY35  S32     19884
+          XY36  S32     19884
+          XY37  S32     19884
+          XY40  S32     20041
+          XY41  S32     20041
+          XY42  S32     20041
+          XY43  S32     20041 # should be 20029
+          XY44  S32     20041
+          XY45  S32     20041
+          XY46  S32     20041
+          XY47  S32     20041
+          XY50  S32     25012
+          XY51  S32     25012
+          XY52  S32     25012
+          XY53  S32     25012
+          XY54  S32     25012
+          XY55  S32     25012
+          XY56  S32     25012
+          XY57  S32     25012
+          XY60  S32     29983
+          XY61  S32     29983
+          XY62  S32     29983
+          XY63  S32     29983
+          XY64  S32     29983
+          XY65  S32     29983
+          XY66  S32     29983
+          XY67  S32     29983
+          XY71  S32     34954
+          XY72  S32     34954
+          XY73  S32     34954
+          XY74  S32     34954
+          XY75  S32     34954
+          XY76  S32     34954
+        END
+        CHIP.Y0.DEPEND          STR     CHIP.NAME
+        CHIP.Y0         METADATA
+          XY01  S32     10286
+          XY02  S32     15429
+          XY03  S32     20572
+          XY04  S32     25715
+          XY05  S32     30858
+          XY06  S32     36001
+          XY10  S32     5143
+          XY11  S32     10286
+          XY12  S32     15429
+          XY13  S32     20572
+          XY14  S32     25715
+          XY15  S32     30858
+          XY16  S32     36001
+          XY17  S32     41144
+          XY20  S32     5143
+          XY21  S32     10286
+          XY22  S32     15429
+          XY23  S32     20572
+          XY24  S32     25715
+          XY25  S32     30858
+          XY26  S32     36001
+          XY27  S32     41144
+          XY30  S32     5143
+          XY31  S32     10286
+          XY32  S32     15429
+          XY33  S32     20572
+          XY34  S32     25715 # should be 25755
+          XY35  S32     30858
+          XY36  S32     36001
+          XY37  S32     41144
+          XY40  S32     306
+          XY41  S32     5449
+          XY42  S32     10592
+          XY43  S32     15735 # should be 15707
+          XY44  S32     20878 # should be 20890
+          XY45  S32     26021
+          XY46  S32     31164
+          XY47  S32     36307
+          XY50  S32     306
+          XY51  S32     5449
+          XY52  S32     10592
+          XY53  S32     15735
+          XY54  S32     20878
+          XY55  S32     26021
+          XY56  S32     31164
+          XY57  S32     36307
+          XY60  S32     306
+          XY61  S32     5449
+          XY62  S32     10592
+          XY63  S32     15735
+          XY64  S32     20878
+          XY65  S32     26021
+          XY66  S32     31164
+          XY67  S32     36307
+          XY71  S32     5449
+          XY72  S32     10592
+          XY73  S32     15735
+          XY74  S32     20878
+          XY75  S32     26021
+          XY76  S32     31164
+        END
+        CHIP.XPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.XPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CHIP.YPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.YPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CELL.READDIR    S32     1
+#       CELL.BAD        S32     0
+        CELL.BAD        S32     -1000
+	CELL.XSIZE	S32	590
+	CELL.YSIZE	S32	598
+        CELL.TIMESYS    STR     UTC
+        CELL.SATURATION F32     60000		# Saturation point (ADU)
+END
+
+# How to translation PS concepts into database lookups
+DATABASE        METADATA
+	# this rule is fragile : does not match the camera
+#        FPA.TEMP        STR     SELECT ccd_temp FROM rawExp WHERE dateobs >= '{FPA.DATE}' and abs(timediff(dateobs, cast('{FPA.TIME}' as datetime))) < 2
+END
+
+
+# Where there might be some ambiguity, specify the format
+FORMATS         METADATA
+        FPA.RA          STR     DEGREES
+        FPA.DEC         STR     DEGREES
+	FPA.LONGITUDE	STR	HOURS
+	FPA.LATITUDE	STR	DEGREES
+        FPA.TIME        STR     YEAR.FIRST
+        CELL.TIME       STR     YEAR.FIRST
+        CELL.BINNING    STR     TOGETHER
+        # CELL.X0         STR     FORTRAN
+        # CELL.Y0         STR     FORTRAN
+	CELL.READNOISE	STR	ADU
+END
+
+# Pattern correction information:
+
+# PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
+PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+#	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
+#	XY02	BOOL	FALSE
+END
+
+PATTERN.CONTINUITY BOOL TRUE
+# PATTERN.CELL	BOOL 	FALSE		# by default, do not do any cell pattern correction
+# PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
+#	XY06    STR     0101000000010000000110000100000000000000000000000000000000000000
+# 	XY06	BOOL	FALSE
+# END
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_mef.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_mef.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_mef.config	(revision 37802)
@@ -0,0 +1,481 @@
+# The raw GPC data comes off the telescope with each of the chips stored in separate files
+
+# How to identify this type
+RULE	METADATA
+#	TELESCOP	STR	PS1
+#	DETECTOR	STR	GPC1
+	CONTROLR	STR	STARGRASP
+	PSFORMAT        STR     MEF
+END
+
+# How to read this data
+FILE	METADATA
+	PHU		STR	FPA	   # The FITS file represents a complete camera fpa
+	EXTENSIONS	STR	CHIP	   # The extensions represent chips
+	FPA.OBS		STR	FILENAME   # A PHU keyword for unique identifier within the hierarchy level
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# CONTENT      =    chip name : type
+        CCID58-2-15a1  STR  XY01:GPCChip
+        CCID58-2-18a1  STR  XY02:GPCChip
+        CCID58-1-13a1  STR  XY03:GPCChip
+        CCID58-1-09a1  STR  XY04:GPCChip
+        CCID58-2-16b1  STR  XY05:GPCChip
+        CCID58-2-09b1  STR  XY06:GPCChip
+        CCID58-2-22a1  STR  XY10:GPCChip
+        CCID58-2-13a2  STR  XY11:GPCChip
+        CCID58-1-17a2  STR  XY12:GPCChip
+        CCID58-1-14a2  STR  XY13:GPCChip
+        CCID58-1-09a2  STR  XY14:GPCChip
+        CCID58-2-13b1  STR  XY15:GPCChip
+        CCID58-1-09b1  STR  XY16:GPCChip
+        CCID58-2-10b2  STR  XY17:GPCChip
+        CCID58-1-19a1  STR  XY20:GPCChip
+        CCID58-1-04a1  STR  XY21:GPCChip
+        CCID58-2-09a2  STR  XY22:GPCChip
+        CCID58-1-02a1  STR  XY23:GPCChip
+        CCID58-1-04a2  STR  XY24:GPCChip
+        CCID58-1-01b1  STR  XY25:GPCChip
+        CCID58-2-07b2  STR  XY26:GPCChip
+        CCID58-1-18b1  STR  XY27:GPCChip
+        CCID58-1-12a1  STR  XY30:GPCChip
+        CCID58-2-01a1  STR  XY31:GPCChip
+        CCID58-2-01a2  STR  XY32:GPCChip
+        CCID58-1-02a2  STR  XY33:GPCChip
+        CCID58-2-04a1  STR  XY34:GPCChip
+        CCID58-1-01b2  STR  XY35:GPCChip
+        CCID58-1-02b1  STR  XY36:GPCChip
+        CCID58-2-16b2  STR  XY37:GPCChip
+        CCID58-2-18b2  STR  XY40:GPCChip
+        CCID58-1-03b2  STR  XY41:GPCChip
+        CCID58-1-07b1  STR  XY42:GPCChip
+        CCID58-2-11b2  STR  XY43:GPCChip
+        CCID58-1-05a2  STR  XY44:GPCChip
+        CCID58-1-21a2  STR  XY45:GPCChip
+        CCID58-2-07a2  STR  XY46:GPCChip
+        CCID58-1-21a1  STR  XY47:GPCChip
+        CCID58-1-17b1  STR  XY50:GPCChip
+        CCID58-2-09b2  STR  XY51:GPCChip
+        CCID58-1-04b1  STR  XY52:GPCChip
+        CCID58-1-05b2  STR  XY53:GPCChip
+        CCID58-2-09a1  STR  XY54:GPCChip
+        CCID58-2-12a2  STR  XY55:GPCChip
+        CCID58-1-10a2  STR  XY56:GPCChip
+        CCID58-2-12a1  STR  XY57:GPCChip
+        CCID58-2-22b2  STR  XY60:GPCChip
+        CCID58-1-03b1  STR  XY61:GPCChip
+        CCID58-2-23b2  STR  XY62:GPCChip
+        CCID58-1-02b2  STR  XY63:GPCChip
+        CCID58-1-07a1  STR  XY64:GPCChip
+        CCID58-2-17a2  STR  XY65:GPCChip
+        CCID58-2-14a1  STR  XY66:GPCChip
+        CCID58-2-16a2  STR  XY67:GPCChip
+        CCID58-2-04b2  STR  XY71:GPCChip
+        CCID58-1-14b1  STR  XY72:GPCChip
+        CCID58-1-25b1  STR  XY73:GPCChip
+        CCID58-1-18a1  STR  XY74:GPCChip
+        CCID58-2-16a1  STR  XY75:GPCChip
+        CCID58-2-05a1  STR  XY76:GPCChip
+END
+
+CHIPS   METADATA
+	GPCChip		METADATA
+		# Extension name, cellName:cellType
+		xy00   STR  xy00:GPCCell
+		xy10   STR  xy10:GPCCell
+		xy20   STR  xy20:GPCCell
+		xy30   STR  xy30:GPCCell
+		xy40   STR  xy40:GPCCell
+		xy50   STR  xy50:GPCCell
+		xy60   STR  xy60:GPCCell
+		xy70   STR  xy70:GPCCell
+		xy01   STR  xy01:GPCCell
+		xy11   STR  xy11:GPCCell
+		xy21   STR  xy21:GPCCell
+		xy31   STR  xy31:GPCCell
+		xy41   STR  xy41:GPCCell
+		xy51   STR  xy51:GPCCell
+		xy61   STR  xy61:GPCCell
+		xy71   STR  xy71:GPCCell
+		xy02   STR  xy02:GPCCell
+		xy12   STR  xy12:GPCCell
+		xy22   STR  xy22:GPCCell
+		xy32   STR  xy32:GPCCell
+		xy42   STR  xy42:GPCCell
+		xy52   STR  xy52:GPCCell
+		xy62   STR  xy62:GPCCell
+		xy72   STR  xy72:GPCCell
+		xy03   STR  xy03:GPCCell
+		xy13   STR  xy13:GPCCell
+		xy23   STR  xy23:GPCCell
+		xy33   STR  xy33:GPCCell
+		xy43   STR  xy43:GPCCell
+		xy53   STR  xy53:GPCCell
+		xy63   STR  xy63:GPCCell
+		xy73   STR  xy73:GPCCell
+		xy04   STR  xy04:GPCCell
+		xy14   STR  xy14:GPCCell
+		xy24   STR  xy24:GPCCell
+		xy34   STR  xy34:GPCCell
+		xy44   STR  xy44:GPCCell
+		xy54   STR  xy54:GPCCell
+		xy64   STR  xy64:GPCCell
+		xy74   STR  xy74:GPCCell
+		xy05   STR  xy05:GPCCell
+		xy15   STR  xy15:GPCCell
+		xy25   STR  xy25:GPCCell
+		xy35   STR  xy35:GPCCell
+		xy45   STR  xy45:GPCCell
+		xy55   STR  xy55:GPCCell
+		xy65   STR  xy65:GPCCell
+		xy75   STR  xy75:GPCCell
+		xy06   STR  xy06:GPCCell
+		xy16   STR  xy16:GPCCell
+		xy26   STR  xy26:GPCCell
+		xy36   STR  xy36:GPCCell
+		xy46   STR  xy46:GPCCell
+		xy56   STR  xy56:GPCCell
+		xy66   STR  xy66:GPCCell
+		xy76   STR  xy76:GPCCell
+		xy07   STR  xy07:GPCCell
+		xy17   STR  xy17:GPCCell
+		xy27   STR  xy27:GPCCell
+		xy37   STR  xy37:GPCCell
+		xy47   STR  xy47:GPCCell
+		xy57   STR  xy57:GPCCell
+		xy67   STR  xy67:GPCCell
+		xy77   STR  xy77:GPCCell
+	END
+END
+
+# Specify the cell data
+CELLS	METADATA
+	GPCCell		METADATA
+		CELL.TRIMSEC.SOURCE	STR	HEADER
+		CELL.TRIMSEC		STR	DATASEC
+		CELL.BIASSEC.SOURCE	STR	HEADER
+		CELL.BIASSEC		STR	BIASSEC
+	END
+END
+
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+        FPA.FILTERID    STR     FILTERID
+        FPA.FILTER      STR     FILTERID
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     EQUINOX
+	FPA.OBSTYPE     STR     OBSTYPE
+	FPA.OBJECT	STR	OBJECT
+	FPA.AIRMASS	STR	AIRMASS
+	FPA.POSANGLE	STR	POSANGLE
+	FPA.ROTANGLE	STR	ROT
+	FPA.FOCUS	STR	M2Z
+	FPA.TIME	STR	MJD-OBS
+	FPA.ALT		STR	ALT
+	FPA.AZ		STR	AZ
+	FPA.TEMP	STR	DETTEM
+	FPA.ZP		STR	MAG_ZP
+	CHIP.ID         STR	DETECTOR
+	CELL.XBIN	STR	CCDSUM
+	CELL.YBIN	STR	CCDSUM
+	CELL.X0		STR	IMNPIX1
+	CELL.Y0		STR	IMNPIX2
+ 	CELL.XPARITY	STR	ATM1_1
+	CELL.YPARITY	STR	ATM2_2
+	FPA.EXPOSURE	STR	EXPREQ		# Requested exposure time, presumably camera exposure time
+	CELL.EXPOSURE	STR	EXPTIME		# Exposure time measured by shutter
+	CELL.DARKTIME	STR	DARKTIME	# Exposure time for camera
+	CELL.TIME	STR	MJD-OBS
+	CELL.GAIN	STR	GAIN
+	CELL.READNOISE	STR	RDNOISE
+	CELL.BAD	STR	LOWLEVEL
+	CELL.SATURATION	STR	SATLEVEL
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS	METADATA
+	FPA.TELESCOPE	STR	PS1
+	FPA.INSTRUMENT	STR	GPC1
+	FPA.DETECTOR	STR	GPC1
+	FPA.OBS		S32	12345
+	FPA.TIMESYS	STR	TAI
+	CHIP.XSIZE	S32	4846
+	CHIP.YSIZE	S32	4868
+	CHIP.XPARITY	S32	1
+	CHIP.YPARITY	S32	1
+	CHIP.X0.DEPEND	STR	CHIP.NAME
+	CHIP.X0		METADATA
+          XY01  S32     4971
+          XY02  S32     4971
+          XY03  S32     4971
+          XY04  S32     4971
+          XY05  S32     4971
+          XY06  S32     4971
+          XY10  S32     9942
+          XY11  S32     9942
+          XY12  S32     9942
+          XY13  S32     9942
+          XY14  S32     9942
+          XY15  S32     9942
+          XY16  S32     9942
+          XY17  S32     9942
+          XY20  S32     14913
+          XY21  S32     14913
+          XY22  S32     14913
+          XY23  S32     14913
+          XY24  S32     14913
+          XY25  S32     14913
+          XY26  S32     14913
+          XY27  S32     14913
+          XY30  S32     19884
+          XY31  S32     19884
+          XY32  S32     19884
+          XY33  S32     19884
+          XY34  S32     19884
+          XY35  S32     19884
+          XY36  S32     19884
+          XY37  S32     19884
+          XY40  S32     20041
+          XY41  S32     20041
+          XY42  S32     20041
+          XY43  S32     20041
+          XY44  S32     20041
+          XY45  S32     20041
+          XY46  S32     20041
+          XY47  S32     20041
+          XY50  S32     25012
+          XY51  S32     25012
+          XY52  S32     25012
+          XY53  S32     25012
+          XY54  S32     25012
+          XY55  S32     25012
+          XY56  S32     25012
+          XY57  S32     25012
+          XY60  S32     29983
+          XY61  S32     29983
+          XY62  S32     29983
+          XY63  S32     29983
+          XY64  S32     29983
+          XY65  S32     29983
+          XY66  S32     29983
+          XY67  S32     29983
+          XY71  S32     34954
+          XY72  S32     34954
+          XY73  S32     34954
+          XY74  S32     34954
+          XY75  S32     34954
+          XY76  S32     34954
+	END
+	CHIP.Y0.DEPEND	STR	CHIP.NAME
+	CHIP.Y0		METADATA
+          XY01  S32     10286
+          XY02  S32     15429
+          XY03  S32     20572
+          XY04  S32     25715
+          XY05  S32     30858
+          XY06  S32     36001
+          XY10  S32     5143
+          XY11  S32     10286
+          XY12  S32     15429
+          XY13  S32     20572
+          XY14  S32     25715
+          XY15  S32     30858
+          XY16  S32     36001
+          XY17  S32     41144
+          XY20  S32     5143
+          XY21  S32     10286
+          XY22  S32     15429
+          XY23  S32     20572
+          XY24  S32     25715
+          XY25  S32     30858
+          XY26  S32     36001
+          XY27  S32     41144
+          XY30  S32     5143
+          XY31  S32     10286
+          XY32  S32     15429
+          XY33  S32     20572
+          XY34  S32     25715
+          XY35  S32     30858
+          XY36  S32     36001
+          XY37  S32     41144
+          XY40  S32     306
+          XY41  S32     5449
+          XY42  S32     10592
+          XY43  S32     15735
+          XY44  S32     20878
+          XY45  S32     26021
+          XY46  S32     31164
+          XY47  S32     36307
+          XY50  S32     306
+          XY51  S32     5449
+          XY52  S32     10592
+          XY53  S32     15735
+          XY54  S32     20878
+          XY55  S32     26021
+          XY56  S32     31164
+          XY57  S32     36307
+          XY60  S32     306
+          XY61  S32     5449
+          XY62  S32     10592
+          XY63  S32     15735
+          XY64  S32     20878
+          XY65  S32     26021
+          XY66  S32     31164
+          XY67  S32     36307
+          XY71  S32     5449
+          XY72  S32     10592
+          XY73  S32     15735
+          XY74  S32     20878
+          XY75  S32     26021
+          XY76  S32     31164
+        END
+	CHIP.XPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.XPARITY	METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+	END
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+	END
+	CELL.READDIR	S32	1
+	CELL.XSIZE	S32	590
+	CELL.YSIZE	S32	598
+	CELL.TIMESYS	STR	TAI
+END
+
+# How to translation PS concepts into database lookups
+DATABASE	METADATA
+END
+
+
+# Where there might be some ambiguity, specify the format
+FORMATS		METADATA
+	FPA.RA		STR	DEGREES
+	FPA.DEC		STR	DEGREES
+	FPA.TIME	STR	MJD
+	CELL.TIME	STR	MJD
+	CELL.BINNING	STR	TOGETHER
+END
+ 
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_raw.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_raw.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/format_raw.config	(revision 37802)
@@ -0,0 +1,528 @@
+# Refurbished GPC1
+# Change effective from 22 January 2010 (TJD=5219): new CCD temperature keywords
+
+# How to identify this type
+RULE    METADATA
+	ORIGIN		STR	PS2
+        TELESCOP        STR     PS2
+	INSTRUME	STR	gpc2
+        CONTROLR        STR     STARGRASP
+        NAMPS           S32     64
+END
+
+# How to read this data
+FILE    METADATA
+        PHU             STR     CHIP       # The FITS file represents a single chip
+        EXTENSIONS      STR     CELL       # The extensions represent cells
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
+        CONTENT         STR     DETECTOR   # How to determine content of FITS file
+        CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS        METADATA
+        # CONTENT      =    chip name : type
+        CCID71-2-03-1  STR  XY02:GPCChip
+        CCID71-2-07-2  STR  XY03:GPCChip
+        CCID71-3-08-1  STR  XY04:GPCChip
+        CCID71-1-05-1  STR  XY05:GPCChip
+        CCID71-3-11-3  STR  XY11:GPCChip
+        CCID71-1-10-1  STR  XY12:GPCChip
+        CCID71-3-06-3  STR  XY13:GPCChip
+        CCID71-2-03-2  STR  XY14:GPCChip
+        CCID71-2-08-1  STR  XY15:GPCChip
+        CCID71-2-11-1  STR  XY16:GPCChip
+        CCID71-1-08-4  STR  XY21:GPCChip
+        CCID71-3-03-3  STR  XY22:GPCChip
+        CCID71-3-06-1  STR  XY23:GPCChip
+        CCID71-3-06-2  STR  XY24:GPCChip
+        CCID71-3-06-4  STR  XY25:GPCChip
+        CCID71-1-06-1  STR  XY26:GPCChip
+        CCID71-1-08-2  STR  XY30:GPCChip
+        CCID71-1-05-4  STR  XY31:GPCChip
+        CCID71-1-03-3  STR  XY32:GPCChip
+        CCID71-1-03-2  STR  XY33:GPCChip
+        CCID71-1-06-2  STR  XY34:GPCChip
+        CCID71-1-07-4  STR  XY35:GPCChip
+        CCID71-3-11-2  STR  XY36:GPCChip
+        CCID71-2-12-1  STR  XY37:GPCChip
+        CCID71-1-11-3  STR  XY40:GPCChip
+        CCID71-1-11-2  STR  XY41:GPCChip
+        CCID71-1-09-2  STR  XY42:GPCChip
+        CCID71-2-05-4  STR  XY43:GPCChip
+        CCID71-2-06-2  STR  XY44:GPCChip
+        CCID71-3-03-2  STR  XY45:GPCChip
+        CCID71-2-06-1  STR  XY46:GPCChip
+        CCID71-3-02-1  STR  XY47:GPCChip
+        CCID71-2-10-1  STR  XY51:GPCChip
+        CCID71-2-08-2  STR  XY52:GPCChip
+        CCID71-2-10-2  STR  XY53:GPCChip
+        CCID71-2-11-4  STR  XY54:GPCChip
+        CCID71-3-09-2  STR  XY55:GPCChip
+        CCID71-3-09-1  STR  XY56:GPCChip
+        CCID71-2-03-3  STR  XY61:GPCChip
+        CCID71-1-01-2  STR  XY62:GPCChip
+        CCID71-1-10-2  STR  XY63:GPCChip
+        CCID71-1-05-2  STR  XY64:GPCChip
+        CCID71-1-05-3  STR  XY65:GPCChip
+        CCID71-1-01-4  STR  XY66:GPCChip
+        CCID71-1-03-4  STR  XY72:GPCChip
+        CCID71-2-11-2  STR  XY73:GPCChip
+        CCID71-3-08-2  STR  XY74:GPCChip
+        CCID71-3-11-4  STR  XY75:GPCChip
+
+END
+
+CHIPS   METADATA
+        GPCChip         METADATA
+                # Extension name, cellName:cellType
+                xy00   STR  xy00:GPCCell
+                xy10   STR  xy10:GPCCell
+                xy20   STR  xy20:GPCCell
+                xy30   STR  xy30:GPCCell
+                xy40   STR  xy40:GPCCell
+                xy50   STR  xy50:GPCCell
+                xy60   STR  xy60:GPCCell
+                xy70   STR  xy70:GPCCell
+                xy01   STR  xy01:GPCCell
+                xy11   STR  xy11:GPCCell
+                xy21   STR  xy21:GPCCell
+                xy31   STR  xy31:GPCCell
+                xy41   STR  xy41:GPCCell
+                xy51   STR  xy51:GPCCell
+                xy61   STR  xy61:GPCCell
+                xy71   STR  xy71:GPCCell
+                xy02   STR  xy02:GPCCell
+                xy12   STR  xy12:GPCCell
+                xy22   STR  xy22:GPCCell
+                xy32   STR  xy32:GPCCell
+                xy42   STR  xy42:GPCCell
+                xy52   STR  xy52:GPCCell
+                xy62   STR  xy62:GPCCell
+                xy72   STR  xy72:GPCCell
+                xy03   STR  xy03:GPCCell
+                xy13   STR  xy13:GPCCell
+                xy23   STR  xy23:GPCCell
+                xy33   STR  xy33:GPCCell
+                xy43   STR  xy43:GPCCell
+                xy53   STR  xy53:GPCCell
+                xy63   STR  xy63:GPCCell
+                xy73   STR  xy73:GPCCell
+                xy04   STR  xy04:GPCCell
+                xy14   STR  xy14:GPCCell
+                xy24   STR  xy24:GPCCell
+                xy34   STR  xy34:GPCCell
+                xy44   STR  xy44:GPCCell
+                xy54   STR  xy54:GPCCell
+                xy64   STR  xy64:GPCCell
+                xy74   STR  xy74:GPCCell
+                xy05   STR  xy05:GPCCell
+                xy15   STR  xy15:GPCCell
+                xy25   STR  xy25:GPCCell
+                xy35   STR  xy35:GPCCell
+                xy45   STR  xy45:GPCCell
+                xy55   STR  xy55:GPCCell
+                xy65   STR  xy65:GPCCell
+                xy75   STR  xy75:GPCCell
+                xy06   STR  xy06:GPCCell
+                xy16   STR  xy16:GPCCell
+                xy26   STR  xy26:GPCCell
+                xy36   STR  xy36:GPCCell
+                xy46   STR  xy46:GPCCell
+                xy56   STR  xy56:GPCCell
+                xy66   STR  xy66:GPCCell
+                xy76   STR  xy76:GPCCell
+                xy07   STR  xy07:GPCCell
+                xy17   STR  xy17:GPCCell
+                xy27   STR  xy27:GPCCell
+                xy37   STR  xy37:GPCCell
+                xy47   STR  xy47:GPCCell
+                xy57   STR  xy57:GPCCell
+                xy67   STR  xy67:GPCCell
+                xy77   STR  xy77:GPCCell
+        END
+END
+
+# Specify the cell data
+CELLS   METADATA
+        GPCCell         METADATA
+                CELL.TRIMSEC.SOURCE     STR     HEADER
+                CELL.TRIMSEC            STR     DATASEC
+                CELL.BIASSEC.SOURCE     STR     HEADER
+                CELL.BIASSEC            STR     BIASSEC
+        END
+END
+
+
+# How to translate PS concepts into FITS headers
+TRANSLATION     METADATA
+        FPA.FILTERID    STR     FILTERID
+        FPA.FILTER      STR     FILTERID
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     EQUINOX
+        FPA.OBSTYPE     STR     OBSTYPE
+        FPA.OBJECT      STR     OBJECT
+        FPA.OBS.MODE    STR     OBS_MODE
+        FPA.COMMENT     STR     CMMTOBS
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.POSANGLE    STR     POSANGLE
+	FPA.ROTANGLE	STR	ROT
+        FPA.FOCUS       STR     M2Z
+        FPA.TIME        STR     SHUTOUTC
+        FPA.ALT         STR     ALT
+        FPA.AZ          STR     AZ
+        FPA.TEMP        STR     DETTEM
+        FPA.M1X         STR     M1X
+        FPA.M1Y         STR     M1Y   
+        FPA.M1Z         STR     M1Z   
+        FPA.M1TIP       STR     M1TIP 
+        FPA.M1TILT      STR     M1TILT
+        FPA.M2X         STR     M2X
+        FPA.M2Y         STR     M2Y   
+        FPA.M2Z         STR     M2Z   
+        FPA.M2TIP       STR     M2TIP 
+        FPA.M2TILT      STR     M2TILT
+        FPA.ENV.TEMP    STR     ENVTEM
+        FPA.ENV.HUMID   STR     ENVHUM
+        FPA.ENV.WIND    STR     ENVWIN
+        FPA.ENV.DIR     STR     ENVDIR
+
+        FPA.TELTEMP.M1     STR  TELTEMM1 # Primary mirror temps (C) 
+        FPA.TELTEMP.M1CELL STR  TELTEMMS # Primary mirror support temps (C)   
+        FPA.TELTEMP.M2     STR  TELTEMM2 # Secondary mirror temps (C
+        FPA.TELTEMP.SPIDER STR  TELTEMSP # Spider temperatures (C)  
+        FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
+        FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
+	CHIP.VIDEOCELL  STR     CELLMODE
+
+        FPA.PON.TIME    STR     PONTIME
+
+        CHIP.ID         STR     DETECTOR
+        CELL.XBIN       STR     CCDSUM
+        CELL.YBIN       STR     CCDSUM
+        CELL.X0         STR     IMNPIX1
+        CELL.Y0         STR     IMNPIX2
+        CELL.XPARITY    STR     ATM1_1
+        CELL.YPARITY    STR     ATM2_2
+	CHIP.TEMP	STR	CDETTEM
+	CHIP.TEMPERATURE STR	DETTEM
+        FPA.EXPOSURE    STR     EXPREQ          # Requested exposure time, presumably camera exposure time
+        CELL.EXPOSURE   STR     EXPTIME         # Exposure time measured by shutter
+        CELL.DARKTIME   STR     DARKTIME        # Exposure time for camera
+        CELL.TIME       STR     SHUTOUTC	# Observation time
+        CELL.GAIN       STR     GAIN		# Cell gain (e/ADU)
+        CELL.READNOISE  STR     RDNOISE		# Cell read noise (ADU)
+#       CELL.SATURATION STR     MAXLIN		# Saturation point (ADU)
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+        FPA.TELESCOPE   STR     PS2
+        FPA.INSTRUMENT  STR     GPC2
+        FPA.LONGITUDE   STR     10:25:01.417 # West Longitude in Hours 10.4170608521
+        FPA.LATITUDE    STR     20:42:26.21 # North Latitude in Degrees 20.7070999146
+        FPA.ELEVATION   F32     3048.0 # altitude in meters
+        FPA.DETECTOR    STR     GPC2
+        FPA.TIMESYS     STR     UTC
+	CHIP.XSIZE	S32	4846
+	CHIP.YSIZE	S32	4868
+        CHIP.XPARITY    S32     1
+        CHIP.YPARITY    S32     1
+        CHIP.X0.DEPEND          STR     CHIP.NAME
+        CHIP.X0         METADATA
+          XY01  S32     4971
+          XY02  S32     4971
+          XY03  S32     4971
+          XY04  S32     4971
+          XY05  S32     4971
+          XY06  S32     4971
+          XY10  S32     9942
+          XY11  S32     9942
+          XY12  S32     9942
+          XY13  S32     9942
+          XY14  S32     9942
+          XY15  S32     9942
+          XY16  S32     9942
+          XY17  S32     9942
+          XY20  S32     14913
+          XY21  S32     14913
+          XY22  S32     14913
+          XY23  S32     14913
+          XY24  S32     14913
+          XY25  S32     14913
+          XY26  S32     14913
+          XY27  S32     14913
+          XY30  S32     19884
+          XY31  S32     19884
+          XY32  S32     19884
+          XY33  S32     19884 # should be 19872
+          XY34  S32     19884
+          XY35  S32     19884
+          XY36  S32     19884
+          XY37  S32     19884
+          XY40  S32     20041
+          XY41  S32     20041
+          XY42  S32     20041
+          XY43  S32     20041 # should be 20029
+          XY44  S32     20041
+          XY45  S32     20041
+          XY46  S32     20041
+          XY47  S32     20041
+          XY50  S32     25012
+          XY51  S32     25012
+          XY52  S32     25012
+          XY53  S32     25012
+          XY54  S32     25012
+          XY55  S32     25012
+          XY56  S32     25012
+          XY57  S32     25012
+          XY60  S32     29983
+          XY61  S32     29983
+          XY62  S32     29983
+          XY63  S32     29983
+          XY64  S32     29983
+          XY65  S32     29983
+          XY66  S32     29983
+          XY67  S32     29983
+          XY71  S32     34954
+          XY72  S32     34954
+          XY73  S32     34954
+          XY74  S32     34954
+          XY75  S32     34954
+          XY76  S32     34954
+        END
+        CHIP.Y0.DEPEND          STR     CHIP.NAME
+        CHIP.Y0         METADATA
+          XY01  S32     10286
+          XY02  S32     15429
+          XY03  S32     20572
+          XY04  S32     25715
+          XY05  S32     30858
+          XY06  S32     36001
+          XY10  S32     5143
+          XY11  S32     10286
+          XY12  S32     15429
+          XY13  S32     20572
+          XY14  S32     25715
+          XY15  S32     30858
+          XY16  S32     36001
+          XY17  S32     41144
+          XY20  S32     5143
+          XY21  S32     10286
+          XY22  S32     15429
+          XY23  S32     20572
+          XY24  S32     25715
+          XY25  S32     30858
+          XY26  S32     36001
+          XY27  S32     41144
+          XY30  S32     5143
+          XY31  S32     10286
+          XY32  S32     15429
+          XY33  S32     20572
+          XY34  S32     25715 # should be 25755
+          XY35  S32     30858
+          XY36  S32     36001
+          XY37  S32     41144
+          XY40  S32     306
+          XY41  S32     5449
+          XY42  S32     10592
+          XY43  S32     15735 # should be 15707
+          XY44  S32     20878 # should be 20890
+          XY45  S32     26021
+          XY46  S32     31164
+          XY47  S32     36307
+          XY50  S32     306
+          XY51  S32     5449
+          XY52  S32     10592
+          XY53  S32     15735
+          XY54  S32     20878
+          XY55  S32     26021
+          XY56  S32     31164
+          XY57  S32     36307
+          XY60  S32     306
+          XY61  S32     5449
+          XY62  S32     10592
+          XY63  S32     15735
+          XY64  S32     20878
+          XY65  S32     26021
+          XY66  S32     31164
+          XY67  S32     36307
+          XY71  S32     5449
+          XY72  S32     10592
+          XY73  S32     15735
+          XY74  S32     20878
+          XY75  S32     26021
+          XY76  S32     31164
+        END
+        CHIP.XPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.XPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CHIP.YPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.YPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CELL.READDIR    S32     1
+        CELL.BAD        S32     0
+	CELL.XSIZE	S32	590
+	CELL.YSIZE	S32	598
+        CELL.TIMESYS    STR     UTC
+        CELL.SATURATION F32     60000		# Saturation point (ADU)
+END
+
+# How to translation PS concepts into database lookups
+DATABASE        METADATA
+	# this rule is fragile : does not match the camera
+#        FPA.TEMP        STR     SELECT ccd_temp FROM rawExp WHERE dateobs >= '{FPA.DATE}' and abs(timediff(dateobs, cast('{FPA.TIME}' as datetime))) < 2
+END
+
+
+# Where there might be some ambiguity, specify the format
+FORMATS         METADATA
+        FPA.RA          STR     DEGREES
+        FPA.DEC         STR     DEGREES
+	FPA.LONGITUDE	STR	HOURS
+	FPA.LATITUDE	STR	DEGREES
+        FPA.TIME        STR     YEAR.FIRST
+        CELL.TIME       STR     YEAR.FIRST
+        CELL.BINNING    STR     TOGETHER
+        # CELL.X0         STR     FORTRAN
+        # CELL.Y0         STR     FORTRAN
+	CELL.READNOISE	STR	ADU
+END
+
+# Pattern correction information:
+
+# PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
+PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+#	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
+#	XY02	BOOL	FALSE
+END
+
+PATTERN.CONTINUITY BOOL TRUE
+# PATTERN.CELL	BOOL 	FALSE		# by default, do not do any cell pattern correction
+# PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
+#	XY06    STR     0101000000010000000110000100000000000000000000000000000000000000
+# 	XY06	BOOL	FALSE
+# END
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppImage.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppImage.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppImage.config	(revision 37802)
@@ -0,0 +1,1796 @@
+	
+# binned output image options
+BIN1.XBIN               S32      16
+BIN1.YBIN               S32      16
+BIN2.XBIN               S32     150
+BIN2.YBIN               S32     150
+
+OVERSCAN.SINGLE         BOOL    FALSE            # Reduce overscan to a single value?
+OVERSCAN.STAT           STR     MEDIAN
+OVERSCAN.BOXCAR         S32     3
+
+# Normalization class
+NORM.CLASS              STR     CHIP             # How to find the per-class normalizations
+
+NONLIN                  BOOL    FALSE            # apply non-linearity correction 
+OLDDARK                 BOOL    FALSE
+
+GAIN.OVERRIDE		BOOL	TRUE		# Override a non-finite gain?
+
+# use the deburned image instead of the raw, if it exists
+USE.DEBURNED.IMAGE      BOOL    FALSE          # use burntool-repaired image?
+USE.BEST.BURNTOOL	BOOL	FALSE       # require the best burntooled data
+MASK.BURNTOOL           BOOL    FALSE          # Mask potential burntool trails
+TILTYSTREAK.APPLY       BOOL    FALSE          # apply the 'tiltystreak' tool
+NOISEMAP                BOOL    FALSE          # Apply read noise map
+
+APPLY.BURNTOOL          BOOL    FALSE          # apply burntool correction in ppImage
+
+# Final detrending options 
+HAS.VIDEO       BOOL    FALSE            # Treat this OTA as if it has video data
+# USE.VIDEO.DARK  BOOL    TRUE             # Use a video dark if we have video data?
+USE.VIDEO.MASK  BOOL    FALSE            # Use a video mask if we have video data?
+
+# aditional auxiliary mask applied to corners of all chips in video cells.
+# Is only applied if MASK.AUXMASK and USE.VIDEO.MASK are both true
+# AUX.VIDEO.MASK  STR     neb://any/gpc1/auxmask/mpg.20130930/mask_video_cell_corners.fits
+
+
+TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
+APPLY.XY01 BOOL FALSE
+APPLY.XY03 BOOL FALSE
+APPLY.XY04 BOOL FALSE
+APPLY.XY05 BOOL FALSE
+APPLY.XY06 BOOL FALSE
+APPLY.XY10 BOOL FALSE
+APPLY.XY11 BOOL FALSE
+APPLY.XY13 BOOL FALSE
+APPLY.XY14 BOOL FALSE
+APPLY.XY15 BOOL FALSE
+APPLY.XY16 BOOL FALSE
+APPLY.XY17 BOOL FALSE
+APPLY.XY20 BOOL FALSE
+APPLY.XY21 BOOL FALSE
+APPLY.XY23 BOOL FALSE
+APPLY.XY24 BOOL FALSE
+APPLY.XY25 BOOL FALSE
+APPLY.XY26 BOOL FALSE
+APPLY.XY30 BOOL FALSE
+APPLY.XY31 BOOL FALSE
+APPLY.XY33 BOOL FALSE
+APPLY.XY34 BOOL FALSE
+APPLY.XY35 BOOL FALSE
+APPLY.XY36 BOOL FALSE
+APPLY.XY37 BOOL FALSE
+APPLY.XY40 BOOL FALSE
+APPLY.XY41 BOOL FALSE
+APPLY.XY42 BOOL FALSE
+APPLY.XY43 BOOL FALSE
+APPLY.XY44 BOOL FALSE
+APPLY.XY46 BOOL FALSE
+APPLY.XY50 BOOL FALSE
+APPLY.XY52 BOOL FALSE
+APPLY.XY53 BOOL FALSE
+APPLY.XY54 BOOL FALSE
+APPLY.XY56 BOOL FALSE
+APPLY.XY60 BOOL FALSE
+APPLY.XY62 BOOL FALSE
+APPLY.XY63 BOOL FALSE
+APPLY.XY64 BOOL FALSE
+APPLY.XY66 BOOL FALSE
+APPLY.XY71 BOOL FALSE
+APPLY.XY72 BOOL FALSE
+APPLY.XY73 BOOL FALSE
+APPLY.XY74 BOOL FALSE
+APPLY.XY76 BOOL FALSE
+
+APPLY.XY02 BOOL TRUE
+APPLY.XY12 BOOL TRUE
+APPLY.XY22 BOOL TRUE
+APPLY.XY27 BOOL TRUE
+APPLY.XY32 BOOL TRUE
+APPLY.XY45 BOOL TRUE
+APPLY.XY47 BOOL TRUE
+APPLY.XY51 BOOL TRUE
+APPLY.XY55 BOOL TRUE
+APPLY.XY57 BOOL TRUE
+APPLY.XY61 BOOL TRUE
+APPLY.XY65 BOOL TRUE
+APPLY.XY67 BOOL TRUE
+APPLY.XY75 BOOL TRUE
+
+OPTIONS.XY02 STR mask=0001011100010111000101110001011100010111000101110001011100010111 # cols: 3,5,6,7
+OPTIONS.XY12 STR mask=0000011100000111000001110000011100000111111101111111011111110111 # col 5,6,7 (+ 0,1,2,3 for row > 4)
+OPTIONS.XY22 STR mask=0001001100010011000100110001001100010011000100110001001100010011 # cols: 3,6,7
+OPTIONS.XY27 STR none
+OPTIONS.XY32 STR mask=0011011100110111001101110011011100110111001101110011011100110111 # cols: 2,3,5,6,7
+OPTIONS.XY45 STR mask=0111111101111111011111111111111111111111111111111111111111111111 # all except 00, 01, 02
+OPTIONS.XY47 STR mask=1111111001111110011111100111111001111110011111100111111001111110 # cols: 2,3,4,5,6,7 (add 00)
+OPTIONS.XY51 STR mask=0011101100111011001110110011101100111011001110110011101100111011 # cols: 2,3,4,6,7
+OPTIONS.XY55 STR mask=0000000011111111111111111111111111111111111111111111111111111111 # all except row 0
+OPTIONS.XY57 STR none
+OPTIONS.XY61 STR none
+OPTIONS.XY65 STR mask=0111011101110111011101110111011101110111011101110111011101110111 # cols: 1,2,3,5,6,7
+OPTIONS.XY67 STR mask=1100111111001111110011111100111100000000000000000000000000000000 # cols: 0,1,4,5,6,7 except rows 4,5,6,7
+OPTIONS.XY75 STR mask=0001111100011111000111110001111100011111000111110001111100011111 # cols: 3,4,5,6,7
+
+# OPTIONS.XY02 STR mask=00010111.00010111.00010111.00010111.00010111.00010111.00010111.00010111 # cols: 3,5,6,7
+END
+
+# crosstalk measurements : only valid for GPC1 for now
+CROSSTALK.MEASURE  BOOL    FALSE          # Subtract model background?
+CROSSTALK.CORRECT  BOOL    FALSE           # Subtract model background?
+
+## XXX use these local variations until we are building real detrend images
+
+DETREND.CONSTRAINTS  METADATA
+  BIAS METADATA
+  END
+  DARK METADATA
+    EXPTIME STR FPA.EXPOSURE
+  END
+  FLAT METADATA
+    FILTER  STR FPA.FILTERID
+  END
+  FLATCORR METADATA
+    FILTER   STR FPA.FILTERID
+  END
+  FRINGE METADATA
+    FILTER   STR FPA.FILTERID
+  END
+  SHUTTER METADATA
+  END
+  MASK METADATA
+  END	
+  ASTROM METADATA
+  END	
+  NOISEMAP METADATA
+  END	
+  LINEARITY METADATA
+  END
+END
+
+# only apply the fringe for these filters
+FRINGE.FILTERS  MULTI
+FRINGE.FILTERS	STR y.00000
+
+# Standard chip processing (NOTE: when changing this be sure to check whether changes should be applied to
+# CHIP_PRESERVE_BG CHIP_AUXMASK or CHIP_PRESERVE_BG_AUXMASK
+CHIP METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP	     BOOL    FALSE	     
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    FALSE           # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    FALSE           # Cell pattern correction using edge continuity
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+CHIP_NOCOMPRESS METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP	     BOOL    TRUE	     
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    FALSE           # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern correction using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  NO.COMPRESS        BOOL    TRUE            # do not compress images
+END
+
+# Chip processing for testing pattern correction
+CHIP_PATTERNTEST METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    FALSE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+# Chip processing with DARKTEST 
+CHIP_DARKTEST METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+
+  DETREND.CONSTRAINTS  METADATA
+    BIAS METADATA
+    END
+    DARK METADATA
+      DETTYPE STR DARKTEST
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      FILTER  STR FPA.FILTERID
+    END
+    FLATCORR METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    FRINGE METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    SHUTTER METADATA
+    END
+    MASK METADATA
+    END	
+    ASTROM METADATA
+    END	
+    NOISEMAP METADATA
+    END
+  END   
+END
+
+CHIP_MASKTEST METADATA
+   BASE.FITS          BOOL    FALSE           # Save base detrended image?
+   BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+   BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+   CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+   CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+   CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+   OVERSCAN           BOOL    TRUE            # Overscan subtraction
+   NONLIN             BOOL    FALSE           # Non-linearity correction; not implemented
+   NOISEMAP	      BOOL    TRUE
+   BIAS               BOOL    FALSE           # Bias subtraction
+   DARK               BOOL    TRUE            # Dark subtraction
+   REMNANCE           BOOL    FALSE           # Remnance masking
+   SHUTTER            BOOL    FALSE           # Shutter correction
+   FLAT               BOOL    TRUE            # Flat-field normalisation
+   MASK               BOOL    TRUE            # Mask bad pixels
+   MASK.BUILD	      BOOL    TRUE	      # Build internal mask?
+   MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+   PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+   PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+   PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern correction using edge continuity
+   FRINGE             BOOL    TRUE            # Fringe subtraction
+   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+   BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+   PHOTOM             BOOL    TRUE            # Source identification and photometry
+   ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+   ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+   BACKGROUND         BOOL    TRUE            # Subtract background?
+   CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+
+   DETREND.CONSTRAINTS  METADATA
+     DARK METADATA
+       DETTYPE STR DARKTEST
+       EXPTIME STR FPA.EXPOSURE
+     END
+     MASK METADATA
+       DETTYPE STR MASKTEST
+     END   
+     VIDEOMASK METADATA
+       DETTYPE STR VIDEOMASKTEST
+     END
+     FLAT METADATA
+       FILTER  STR FPA.FILTERID
+     END
+     FLATCORR METADATA
+       FILTER   STR FPA.FILTERID
+     END
+     FRINGE METADATA
+       FILTER   STR FPA.FILTERID
+     END
+  END
+END
+
+CHIP_NOISEMAP METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  NOISEMAP	     BOOL    TRUE	     
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern correction using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+ 
+# Standard chip processing
+CHIP_ADDNOISE      METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL	   TRUE		   # Build internal mask?
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  ADDNOISE         BOOL    TRUE            # Add noise to mimic shorter exposure
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  FALSE           # Subtract model background?
+END
+
+# Standard chip processing with tiltystreak activated
+TILTY              METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  TILTYSTREAK.APPLY  BOOL    TRUE            # apply the 'tiltystreak' tool
+  NOISEMAP           BOOL    TRUE            # Apply read noise map
+END
+
+# Standard chip processing with noisemap activated
+NOISY                METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
+  NOISEMAP           BOOL    TRUE            # Apply read noise map
+END
+
+# Standard chip processing for areas with high stellar density
+# Turn remnance masking off --- it kills all the detector
+CHIP_DENSE_STARS	METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+END
+
+# Overscan, bias
+PPIMAGE_OB           METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE          # apply non-linearity correction (
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    FALSE           # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark
+PPIMAGE_OBD        METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark -- search for DARK_PREMASK
+PPIMAGE_DARKMASK_PROCESS METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+  END   
+END
+
+
+# Overscan, bias, dark, shutter
+PPIMAGE_OBDS       METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_FLATPROC_PREMASK       METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_OBDSF      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_FLATMASK_PROCESS      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom, astrom
+PPIMAGE_DET_ONLY   METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  FPA1.FITS        BOOL    FALSE           # Save 1st binned fpa image? 
+  FPA2.FITS        BOOL    FALSE           # Save 2nd binned fpa image? 
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+    MASK METADATA
+      DETTYPE STR FLATMASK
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_OBDSFR     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom, astrom
+PPIMAGE_OBDSFRP    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom, astrom
+PPIMAGE_OBDSFRA    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_FLATCORR    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+  DETREND.CONSTRAINTS  METADATA
+    BIAS METADATA
+    END
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+    FLATCORR METADATA
+      FILTER  STR FPA.FILTERID
+    END
+    FRINGE METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    SHUTTER METADATA
+    END
+    MASK METADATA
+    END	
+    ASTROM METADATA
+    END	
+  END
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_FLATTEST    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+  DETREND.CONSTRAINTS  METADATA
+    BIAS METADATA
+    END
+    DARK METADATA
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLATTEST
+      FILTER  STR FPA.FILTERID
+    END
+    FRINGE METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    SHUTTER METADATA
+    END
+    MASK METADATA
+    END	
+    ASTROM METADATA
+    END	
+  END
+END
+
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_PREMASK_PROCESS    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
+# Photometry and astrometry only (for pre-reduced data)
+PPIMAGE_PA         METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  BIN1.JPEG        BOOL    TRUE            # Save 1st binned jpeg?
+  BIN2.JPEG        BOOL    TRUE            # Save 2nd binned jpeg?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# JPEG images for different types of residual images
+# Save JPEG from BIN1 for bias
+PPIMAGE_J1_RESID_B      METADATA
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE          # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BASE.FITS        BOOL    FALSE           # Save base image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
+  BIN2.FITS        BOOL    FALSE           # Save 2nd binned chip image?
+  BIN1.JPEG        BOOL    TRUE            # Save 1st binned jpeg?
+  BIN2.JPEG        BOOL    FALSE           # Save 2nd binned jpeg?
+  BIN1.XBIN        S32     1               # Image is already binned
+  BIN1.YBIN        S32     1               # Image is already binned
+  BIN2.XBIN        S32     1               # Image is already binned
+  BIN2.YBIN        S32     1               # Image is already binned
+
+  # GPC1 has significant dark structures: use a wide greyscale range
+  PPIMAGE.JPEG1    METADATA
+    COLORMAP       STR     -greyscale
+    SCALE.MODE     STR     VALUE
+    SCALE.MIN      F32     -50.0
+    SCALE.MAX      F32     +50.0
+  END
+END
+
+# Save JPEG from BIN2 for bias
+PPIMAGE_J2_RESID_B        METADATA
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BASE.FITS        BOOL    FALSE           # Save base image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
+  BIN2.FITS        BOOL    FALSE           # Save 2nd binned chip image?
+  BIN1.JPEG        BOOL    FALSE           # Save 1st binned jpeg?
+  BIN2.JPEG        BOOL    TRUE            # Save 2nd binned jpeg?
+  BIN1.XBIN        S32     1               # Image is already binned
+  BIN1.YBIN        S32     1               # Image is already binned
+  BIN2.XBIN        S32     1               # Image is already binned
+  BIN2.YBIN        S32     1               # Image is already binned
+
+  # GPC1 has significant dark structures: use a wide greyscale range
+  PPIMAGE.JPEG2    METADATA
+    COLORMAP       STR     -greyscale
+    SCALE.MODE     STR     VALUE
+    SCALE.MIN      F32     -50.0
+    SCALE.MAX      F32     +50.0
+  END
+END
+
+# Save JPEG from BIN1 for flat
+PPIMAGE_J1_RESID_F      METADATA
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BASE.FITS        BOOL    FALSE           # Save base image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
+  BIN2.FITS        BOOL    FALSE           # Save 2nd binned chip image?
+  BIN1.JPEG        BOOL    TRUE            # Save 1st binned jpeg?
+  BIN2.JPEG        BOOL    FALSE           # Save 2nd binned jpeg?
+  BIN1.XBIN        S32     1               # Image is already binned
+  BIN1.YBIN        S32     1               # Image is already binned
+  BIN2.XBIN        S32     1               # Image is already binned
+  BIN2.YBIN        S32     1               # Image is already binned
+
+  PPIMAGE.JPEG1    METADATA
+    COLORMAP       STR     -greyscale
+    SCALE.MODE     STR     FRACTION
+    SCALE.MIN      F32     0.98
+    SCALE.MAX      F32     1.02
+  END
+END
+
+# Save JPEG from BIN2 for flat
+PPIMAGE_J2_RESID_F        METADATA
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BASE.FITS        BOOL    FALSE           # Save base image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
+  BIN2.FITS        BOOL    FALSE           # Save 2nd binned chip image?
+  BIN1.JPEG        BOOL    FALSE           # Save 1st binned jpeg?
+  BIN2.JPEG        BOOL    TRUE            # Save 2nd binned jpeg?
+  BIN1.XBIN        S32     1               # Image is already binned
+  BIN1.YBIN        S32     1               # Image is already binned
+  BIN2.XBIN        S32     1               # Image is already binned
+  BIN2.YBIN        S32     1               # Image is already binned
+		   
+  PPIMAGE.JPEG2    METADATA
+    COLORMAP       STR     -greyscale
+    SCALE.MODE     STR     FRACTION
+    SCALE.MIN      F32     0.98
+    SCALE.MAX      F32     1.02
+  END
+END
+
+# generate CTE map image
+PPIMAGE_CTEMAP     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  CHECK.CTE        BOOL    TRUE            # measure CTE errors?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
+PPIMAGE_NOISEMAP     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE          # Non-linearity correction; not implemented
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    FALSE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  CHECK.CTE        BOOL    FALSE            # measure CTE errors?
+  CHECK.NOISE      BOOL    TRUE            # measure cell level noise.
+
+#   DETREND.CONSTRAINTS  METADATA
+#     DARK METADATA
+#       DETTYPE STR DARK_PREMASK
+#       EXPTIME STR FPA.EXPOSURE
+#     END
+#     FLAT METADATA
+#       DETTYPE STR FLAT_PREMASK
+#       FILTER  STR FPA.FILTERID
+#     END
+#   END   
+END
+
+
+PR_DARKTEST_NOSUB METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  FALSE           # Subtract model background?
+
+  DETREND.CONSTRAINTS  METADATA
+    BIAS METADATA
+    END
+    DARK METADATA
+      DETTYPE STR DARKTEST
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      FILTER  STR FPA.FILTERID
+    END
+    FLATCORR METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    FRINGE METADATA
+      FILTER   STR FPA.FILTERID
+    END
+    SHUTTER METADATA
+    END
+    MASK METADATA
+    END	
+    ASTROM METADATA
+    END	
+    NOISEMAP METADATA
+    END
+  END   
+END
+
+
+PR               METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  FALSE           # Subtract model background?
+END
+
+PR_NOPATTERN       METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	        BOOL    TRUE	          # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL        BOOL    FALSE	        # Cell pattern correction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  FALSE            # Subtract model background?
+END
+
+# Standard chip processing + auxiliary mask
+CHIP_AUXMASK METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP	     BOOL    TRUE	     
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    TRUE            # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern correction using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  NO.COMPRESS        BOOL    TRUE            # turn off image compression
+    DETREND.CONSTRAINTS  METADATA
+      BIAS METADATA
+      END
+      DARK METADATA
+        EXPTIME STR FPA.EXPOSURE
+      END
+      FLAT METADATA
+        FILTER  STR FPA.FILTERID
+      END
+      FLATCORR METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      FRINGE METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      SHUTTER METADATA
+      END
+      MASK METADATA
+      END	
+      AUXMASK METADATA
+        DETTYPE STR AUXMASK_STS
+      END
+      ASTROM METADATA
+      END	
+      NOISEMAP METADATA
+      END	
+      LINEARITY METADATA
+      END
+    END
+END
+
+# Standard chip processing + auxiliary mask with heavy masking
+CHIP_AUXMASK_HEAVY METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP	     BOOL    TRUE	     
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    TRUE            # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern correction using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  NO.COMPRESS        BOOL    TRUE            # turn off image compression
+    DETREND.CONSTRAINTS  METADATA
+      BIAS METADATA
+      END
+      DARK METADATA
+        EXPTIME STR FPA.EXPOSURE
+      END
+      FLAT METADATA
+        FILTER  STR FPA.FILTERID
+      END
+      FLATCORR METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      FRINGE METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      SHUTTER METADATA
+      END
+      MASK METADATA
+      END	
+      AUXMASK METADATA
+        DETTYPE STR AUXMASK_HEAVY
+      END
+      ASTROM METADATA
+      END	
+      NOISEMAP METADATA
+      END	
+      LINEARITY METADATA
+      END
+    END
+END
+
+# Standard chip processing without background subtraction or pattern correction
+CHIP_PRESERVE_BG	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP           BOOL    TRUE
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    FALSE           # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    TRUE            # Cell pattern coorection using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE           # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+
+# Standard chip processing with background removal, but then added back in
+CHIP_RESTORE_BG	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    FALSE 	     # Cell pattern correction using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE           # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+
+# Standard chip processing without background subtraction, pattern correction, or photometry bug applying auxiliary mask
+CHIP_PRESERVE_BG_AUXMASK	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  NOISEMAP           BOOL    TRUE
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  MASK.AUXMASK       BOOL    TRUE            # augment mask with more restrictive auxiliary mask
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  PATTERN.CONTINUITY BOOL    FALSE            # Cell pattern coorection using edge continuity
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE           # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  NO.COMPRESS        BOOL    TRUE            # turn off image compression
+    DETREND.CONSTRAINTS  METADATA
+      BIAS METADATA
+      END
+      DARK METADATA
+        EXPTIME STR FPA.EXPOSURE
+      END
+      FLAT METADATA
+        FILTER  STR FPA.FILTERID
+      END
+      FLATCORR METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      FRINGE METADATA
+        FILTER   STR FPA.FILTERID
+      END
+      SHUTTER METADATA
+      END
+      MASK METADATA
+      END	
+      AUXMASK METADATA
+        DETTYPE STR AUXMASK_HEAVY
+      END
+      ASTROM METADATA
+      END	
+      NOISEMAP METADATA
+      END	
+      LINEARITY METADATA
+      END
+    END
+END
+
+
+# Standard chip processing
+CHIP_NOPATTERN     METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW      BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	   BOOL	   FALSE	   # Cell pattern correction
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  FALSE           # Subtract model background?
+END
+
+# Standard chip processing for old pre-run5 data
+CHIP_PATTERN	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+  PATTERN.ROW        BOOL    TRUE           # Subtract pattern noise
+  PATTERN.CELL       BOOL    FALSE           # Subtract pattern noise
+
+  PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+	XY01	BOOL	TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL	TRUE
+	XY15	BOOL	TRUE
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL	TRUE
+	XY30	BOOL	TRUE
+	XY31	BOOL	TRUE
+	XY32	BOOL	TRUE
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL	TRUE
+	XY46	BOOL	TRUE
+	XY47	BOOL	TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL	TRUE
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
+  END
+END
+
+# test recipes
+# currently : default CHIP recipe
+APTEST_V1 METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE           # Cell pattern correction
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+    MASK METADATA
+      DETTYPE STR MASK
+    END
+  END   
+END
+
+# test recipes
+# currently : default CHIP recipe as normal
+APTEST_V2 METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    TRUE	     # Cell pattern correction
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
+# test recipes
+# currently : default CHIP recipe
+APTEST_V3 METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    TRUE	     # Cell pattern correction
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL    FALSE           # Subtract model background?
+END
+
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppMerge.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppMerge.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/ppMerge.config	(revision 37802)
@@ -0,0 +1,46 @@
+# Mask generation --- already included in default, above
+PPMERGE_DARKMASK METADATA
+  ITER               S32    3
+  MASK.SUSPECT.SIGMA F32	8.0		# Threshold for suspect pixels (sigma)
+  MASK.BAD	     F32	0.1		# Threshold for bad pixels 
+  MASK.MODE	     STR	FRACTION	# Meaning of threshold : value, sigma
+  SAMPLE             S32    100000          # Sampling factor for measuring the background
+END
+
+PPMERGE_FLATMASK METADATA
+  ITER           S32    3
+  MASK.SUSPECT.SIGMA F32	3.0		# Threshold for suspect pixels (sigma)
+  MASK.BAD	 F32	0.1		# Threshold for bad pixels (sigma)
+  MASK.MODE	 STR	FRACTION	# Threshold for bad pixels (sigma)
+  SAMPLE         S32    100000          # Sampling factor for measuring the background
+END
+
+ROWS		S32	32		# Number of rows to read at once
+
+FRINGE.NUM          S32     1000        # Number of fringe regions per cell
+FRINGE.SIZE         S32     5           # Half-size of fringe regions
+FRINGE.XSMOOTH      S32     3           # Number of smoothing regions per cell in x
+FRINGE.YSMOOTH      S32     3           # Number of smoothing regions per cell in y
+FRINGE.SMOOTH       BOOL    TRUE        # Smooth the output image?
+FRINGE.SMOOTH.SIGMA F32     2.0         # Sigma of smoothing Gaussian
+
+# Ordinates for fitting dark current
+# example for linear in darktime only
+DARK.ORDINATES	METADATA
+	CELL.EXPOSURE	S32	1
+END
+
+## Dark for 2010-07-02 with new temp concept.
+## DARK.ORDINATES	METADATA
+## 	CELL.EXPOSURE	S32	1
+##   	TEMP	METADATA
+##   		ORDER	S32	1
+##  		RULE	STR	CHIP.TEMPERATURE * CELL.EXPOSURE
+##   	END
+##   	TEMP2	METADATA
+##   		ORDER	S32	1
+##  		RULE	STR	CHIP.TEMPERATURE * CHIP.TEMPERATURE * CELL.EXPOSURE
+##   	END
+## END
+
+
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/psastro.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/psastro.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/psastro.config	(revision 37802)
@@ -0,0 +1,509 @@
+	
+# save matched stars?
+PSASTRO.SAVE.REFMATCH      BOOL TRUE  # save refstar matches as table in output smf file
+
+# astrometry matching parameters
+
+# nominal plate scale (units / pixel)
+# XXX we are using pixels here because of the limited dynamic range for 
+# NAXIS1,2 when loaded by addstar.  
+PSASTRO.PIXEL.SCALE    F32  1.0
+
+# pmAstromGridAngle
+# max grid offset in FP units (microns)
+# use plate-scale to make this in pixels?
+PSASTRO.GRID.OFFSET    F32    1000.
+PSASTRO.GRID.SCALE     F32      50
+PSASTRO.GRID.NSTAR.MAX S32     800 # deprecated 
+PSASTRO.GRID.NREF.MAX  S32     800 # max stars accepted for grid search from ref catalog
+PSASTRO.GRID.NRAW.MAX  S32    1200 # max stars accepted for grid search from raw image
+
+PSASTRO.MAX.NRAW      S32      1000   # max stars accepted for fitting (0 for all)
+PSASTRO.MAX.NREF      S32      5000   # max stars accepted for fitting (0 for all)
+
+# extra field for ref stars:
+PSASTRO.FIELD.PADDING  F32     0.25   # pad by this fraction of the full mosaic (may need to be larger for single chips)
+
+# 
+PSASTRO.MIN.INST.MAG.RAW       F32     -15.0   # min instrumental magnitude for stars accepted for fitting
+PSASTRO.MAX.INST.MAG.RAW       F32      -8.0   # max instrumental magnitude for stars accepted for fitting
+PSASTRO.GRID.MIN.INST.MAG.RAW  F32     -15.0   # min instrumental magnitude for stars accepted for grid search
+PSASTRO.GRID.MAX.INST.MAG.RAW  F32      -8.0   # max instrumental magnitude for stars accepted for grid search
+
+PSASTRO.GRID.MIN.ANGLE F32 -1.0 # start angle (degrees)
+PSASTRO.GRID.MAX.ANGLE F32 +0.5
+PSASTRO.GRID.DEL.ANGLE F32  0.5
+
+#
+PSASTRO.GRID.MIN.SCALE F32  1.00
+PSASTRO.GRID.MAX.SCALE F32  1.00
+PSASTRO.GRID.DEL.SCALE F32  0.01
+
+# single-chip radius match in pixels
+PSASTRO.MATCH.RADIUS.N0 F32    90
+PSASTRO.MATCH.RADIUS.N1 F32    60
+PSASTRO.MATCH.RADIUS.N2 F32    30
+PSASTRO.MATCH.RADIUS.N3 F32    20
+PSASTRO.MATCH.RADIUS.N4 F32    20
+PSASTRO.MATCH.RADIUS.N5 F32    10
+PSASTRO.MATCH.RADIUS.N6 F32    10
+PSASTRO.MATCH.RADIUS.N7 F32    5
+PSASTRO.MATCH.FIT.NITER S32    8
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MATCH.UNIQ.ITER S32     4 
+
+# XXX Test for taurus
+PSASTRO.GRID.MIN.SIGMA  F32  1.0
+PSASTRO.IGNORE          STR  SATURATED,CRLIMIT,DEFECT,BLEND,FAIL
+
+# these tweak are in FP units (pixels, currently)
+PSASTRO.TWEAK.SCALE     F32      1
+PSASTRO.TWEAK.RANGE     F32    150
+PSASTRO.TWEAK.SMOOTH    F32      2
+PSASTRO.TWEAK.NSIGMA    F32      3
+
+PSASTRO.USE.MODEL             BOOL     TRUE
+
+# PSASTRO.FIX.CHIPS             BOOL     TRUE
+PSASTRO.PIXEL.TOLERANCE       F32      3.0
+PSASTRO.ANGLE.TOLERANCE       F32      1.0
+
+# Mosaic Astrometry options
+PSASTRO.MOSAIC.MODE         BOOL   TRUE
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MOSAIC.CHIP.NITER     S32      5  # fit clipping iterations (NOTE: last iteration is NITER, not NITER - 1)
+PSASTRO.MOSAIC.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+PSASTRO.MOSAIC.UNIQ.ITER      S32      3  # for iterations >= N, require a single match per reference
+
+PSASTRO.MOSAIC.MAX.ERROR.N0 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N1 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N4 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N5 F32    5.00 # max allow error for valid solution (arcsec)
+
+# mosaic radius match in pixels (do these make sense?)
+PSASTRO.MOSAIC.RADIUS.N0    F32    5
+PSASTRO.MOSAIC.RADIUS.N1    F32    10
+PSASTRO.MOSAIC.RADIUS.N2    F32    10
+PSASTRO.MOSAIC.RADIUS.N3    F32    5
+PSASTRO.MOSAIC.RADIUS.N4    F32    3
+PSASTRO.MOSAIC.RADIUS.N5    F32    3
+
+PSASTRO.MOSAIC.CHIP.ORDER     S32      1  # limit chip-fit order to 1
+PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      0 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      1 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N3  S32      1 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N4  S32      1 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N5  S32      3 # fit order (-1 means use default)
+
+# we need to allow a loose fit if we are fitting to 2mass (50mas internal error -> 100mas limit?)
+# if we are fitting against quality digital data, we can require tighter constraints
+
+PSASTRO.MODEL.REF.CHIP        STR      XY33
+
+PSASTRO.MODEL.SET.BORESITE    BOOL     FALSE
+PSASTRO.MODEL.BORESITE.X      F32      -62.0
+PSASTRO.MODEL.BORESITE.Y      F32     -139.0
+#PSASTRO.MODEL.BORESITE.X      F32      -200.0
+#PSASTRO.MODEL.BORESITE.Y      F32     -300.0
+
+# maximum accepted fwhm_major (moved from camera.config
+PSASTRO.MAX.ALLOWED.FWHM              F32       12
+
+# *** make sure the choice of CATDIR (dvo database) contains the photcodes desired below
+# PSASTRO.CATDIR              STR      SYNTH.GRIZY 
+# PSASTRO.CATDIR		STR	PS1.REF.20120503
+PSASTRO.CATDIR               STR     PS1.REF.20120524
+
+
+DVO.GETSTAR.PHOTCODE        STR      i
+DVO.GETSTAR.MAX.RHO         F32      3000.0
+DVO.GETSTAR.MIN.MAG         F32      12.0
+DVO.GETSTAR.MIN.MAG.INST    F32     -25.0
+
+# rather than mean, use specified EDGE:
+ZERO.POINT.USE.MEAN	      	BOOL     TRUE
+ZERO.POINT.EDGE.FRACTION      	F32      0.9
+ZERO.POINT.EDGE.SAMPLE        	S32      25
+ZERO.POINT.EDGE.SAMPLE.FRACTION F32      0.1
+
+PHOTCODE.DATA MULTI
+PHOTCODE.DATA METADATA
+  FILTER   STR g
+  ZEROPT   F32 24.563
+  PHOTCODE STR g
+  GHOST_MAX_MAG                   F32 -16.5
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR r
+  ZEROPT   F32 24.750
+  PHOTCODE STR r
+  GHOST_MAX_MAG                   F32 -20.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR i
+  ZEROPT   F32 24.611
+  PHOTCODE STR i
+  GHOST_MAX_MAG                   F32 -25.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR z
+  ZEROPT   F32 24.250
+  PHOTCODE STR z
+  GHOST_MAX_MAG                   F32 -25.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR y
+  ZEROPT   F32 23.320
+  PHOTCODE STR y
+  GHOST_MAX_MAG                   F32 -25.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR w
+  ZEROPT   F32 26.3
+  PHOTCODE STR r
+  GHOST_MAX_MAG                   F32 -20.0
+END
+
+REFSTAR_MASK                    BOOL FALSE
+REFSTAR_MASK_MAX_MAG            F32 -15.0
+REFSTAR_MASK_SATSTAR_MAG_MAX    F32 -15.0
+REFSTAR_MASK_SATSTAR_MAG_SLOPE  F32  10.15
+# CZW: Original 2010-02-08 position angle offset
+REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.798
+# CZW: Updated 2011-02-18 position angle offset. As above, offset 0.5 degree.
+# REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.78927
+#REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.80237
+#REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.81109
+# Length = 10**(SLOPE*(MAG_MAX - InstMag)) - OFFSET
+
+REFSTAR_MASK_SATSPIKE_MAG_SLOPE F32  0.096
+REFSTAR_MASK_SATSPIKE_MAG_MAX   F32  7.35
+REFSTAR_MASK_SATSPIKE_OFFSET    F32 200.0
+REFSTAR_MASK_SATSPIKE_WIDTH     F32   8.00
+# Width control. if L > L0, W = W0 + (L - L0) * slope
+REFSTAR_MASK_SATSPIKE_L0        F32  200.0
+REFSTAR_MASK_SATSPIKE_WIDTH_SLOPE F32 0.01
+
+# pair 1 (longer)
+# REFSTAR_MASK_SATSPIKE_MAG_MAX1  F32 -16.20
+
+# pair 2 (shorter)
+# REFSTAR_MASK_SATSPIKE_MAG_MAX2  F32 -17.70
+
+
+
+
+REFSTAR_MASK_BLEED              BOOL FALSE
+REFSTAR_MASK_BLEED_MAG_MAX      F32 -15.0
+REFSTAR_MASK_BLEED_MAG_SLOPE    F32   5.0
+
+PSASTRO.EXTRACT METADATA
+ EXTRACT_MAX_MAG                F32  -19.0
+ DVO.GETSTAR.MAX.RHO            F32  300.0
+END
+
+# ghost model file is relative to PATH (eg, ippconfig directory)
+GHOST_MODEL                     STR  gpc1/ghost.model.mdc
+# GHOST_MAX_MAG                   F32 -20.0
+
+GLINT_LENGTH_MAG_SLOPE          F32 2500.0
+GLINT_LENGTH_MAG_ZERO           F32 -20.0
+GLINT_WIDTH                     F32  150.0
+REFSTAR_COUNT_GHOSTS            BOOL TRUE
+REFSTAR_MASK_GHOST              BOOL TRUE
+
+# GHOST_CENTER_X_0         	F32   66.2
+# GHOST_CENTER_X_SLOPE         	F32   -0.02454
+# GHOST_CENTER_Y_0         	F32   16.6
+# GHOST_CENTER_Y_SLOPE         	F32   +0.01565
+# 
+# GHOST_INNER_MAJOR_0         	F32   32.9
+# GHOST_INNER_MAJOR_SLOPE         F32   +0.00612
+# GHOST_INNER_MINOR_0         	F32   58.7
+# GHOST_INNER_MINOR_SLOPE         F32   -0.00258
+# 
+# GHOST_OUTER_MAJOR_0         	F32   90.6
+# GHOST_OUTER_MAJOR_SLOPE         F32   +0.01548
+# GHOST_OUTER_MINOR_0         	F32  133.9
+# GHOST_OUTER_MINOR_SLOPE         F32   -0.00288
+
+PR_RECIPE METADATA
+  REFSTAR_MASK                    BOOL FALSE
+END
+
+REFSTAR_MASK_GLINTS		BOOL  TRUE
+GLINT_MAX_MAG                   F32 -21.0
+GLINT.REGION			MULTI
+
+GLINT.REGION			METADATA
+  REGION			STR  [-38000:-24000,-20000:+20000]
+  GLINT.TYPE                    STR  LEFT
+END
+
+GLINT.REGION			METADATA
+  REGION			STR  [+24000:+38000,-20000:+20000]
+  GLINT.TYPE                    STR  RIGHT
+END
+
+GLINT.REGION			METADATA
+  REGION			STR  [-20000:+20000,+24000:+38000:]
+  GLINT.TYPE                    STR  TOP
+END
+
+GLINT.REGION			METADATA
+  REGION			STR  [-20000:+20000,-38000:-24000]
+  GLINT.TYPE                    STR  BOTTOM
+END
+
+REFSTAR_MASK_CROSSTALK_MAG_SLOPE F32   3.44
+REFSTAR_MASK_CROSSTALK_MAG_MAX   F32 -14.47
+CROSSTALK_MAX_MAG                F32  20.0
+CROSSTALK_MASK                   BOOL TRUE
+
+PS1_REFERENCE METADATA
+  PSASTRO.CATDIR              STR      PS1.GRIZY
+#   PSASTRO.CATDIR	       STR	PS1.REF.20120325
+  ## PHOTCODE.DATA MULTI UPDATE
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR g
+  ##   ZEROPT   F32 24.541
+  ##   PHOTCODE STR g
+  ##   GHOST_MAX_MAG                   F32 -20.0
+  ## END
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR r
+  ##   ZEROPT   F32 24.705.1
+  ##   PHOTCODE STR r
+  ##   GHOST_MAX_MAG                   F32 -20.0
+  ## END
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR i
+  ##   ZEROPT   F32 24.580
+  ##   PHOTCODE STR i
+  ##   GHOST_MAX_MAG                   F32 -25.0
+  ## END
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR z
+  ##   ZEROPT   F32 24.201
+  ##   PHOTCODE STR z
+  ##   GHOST_MAX_MAG                   F32 -25.0
+  ## END
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR y
+  ##   ZEROPT   F32 23.260
+  ##   PHOTCODE STR y
+  ##   GHOST_MAX_MAG                   F32 -25.0
+  ## END
+  ## PHOTCODE.DATA METADATA
+  ##   FILTER   STR w
+  ##   ZEROPT   F32 26.0
+  ##   PHOTCODE STR r
+  ##   GHOST_MAX_MAG                   F32 -20.0
+  ## END
+END
+
+### MOPS wants dynamic masking turned off
+MOPS.TEST	METADATA
+	REFSTAR_MASK	BOOL	FALSE
+END
+
+SAS_REFERENCE METADATA
+    PSASTRO.CATDIR              STR      SAS.REF.V1
+END
+
+# these values worked to get solutions for the STS observations from 2009 & 2010
+# these field has damage from excessive persistence and the impact of burntool
+STS_DATASET  METADATA
+
+  # need to boost the total number of stars available for the fit:
+  # allow more stars per chip and boost the density to which we query
+  # from the reference database.
+  PSASTRO.MAX.NRAW               S32      2000   # 
+  PSASTRO.MAX.NREF               S32      8000   # max stars accepted for fitting (0 for all)
+  # use wider range of magnitudes for grid search
+  PSASTRO.GRID.MIN.INST.MAG.RAW  F32     -15.0   # min instrumental magnitude for stars accepted for fitting
+  PSASTRO.GRID.MAX.INST.MAG.RAW  F32     -11.0   # max instrumental magnitude for stars accepted for fitting
+
+  # reduce the magnitude range to avoid the bright stars have bad astrometry problem
+  PSASTRO.MIN.INST.MAG.RAW       F32     -12.0   # min instrumental magnitude for stars accepted for fitting
+  PSASTRO.MAX.INST.MAG.RAW       F32     -11.0   # min instrumental magnitude for stars accepted for fitting
+
+  DVO.GETSTAR.MIN.MAG.INST   F32     -15.0
+  DVO.GETSTAR.MAX.RHO        F32      60000.0
+  
+  # the crowding is high, so unless we restrict somewhat tightly early
+  # on, we get very noisy (and wrong) fits.  These values are probably
+  # too restrictive for the general observation: we would risk missing
+  # matches.
+
+  # single-chip radius match in pixels
+  PSASTRO.MATCH.RADIUS.N0 F32   10
+  PSASTRO.MATCH.RADIUS.N1 F32    5
+  PSASTRO.MATCH.RADIUS.N2 F32    5
+  PSASTRO.MATCH.RADIUS.N3 F32    5
+  PSASTRO.MATCH.RADIUS.N4 F32    3
+  PSASTRO.MATCH.RADIUS.N5 F32    3
+  PSASTRO.MATCH.RADIUS.N6 F32    5
+  PSASTRO.MATCH.RADIUS.N7 F32    5
+  PSASTRO.MATCH.FIT.NITER S32    5
+
+  # CATDIR with PS1 astrometry from PP5 pointing. Only works for that field
+  # PSASTRO.CATDIR    	STR 	STS.PP5.REFCAT
+END
+
+DEFAULT_RECIPE METADATA
+#   PSASTRO.CATDIR               STR     PS1.REF.20120503
+   PSASTRO.CATDIR		STR	PS1.REF.20120524
+   ZERO.POINT.USE.MEAN		BOOL	TRUE  
+END
+
+CNP_DATASET METADATA
+    ZERO.POINT.USE.MEAN         BOOL    TRUE
+    PSASTRO.MAX.ALLOWED.FWHM    F32     25
+END
+
+LAP_ASTRO METADATA
+#  PSASTRO.CATDIR                STR      3PI.20110505.REFCAT
+#   PSASTRO.CATDIR		 STR	  SYNTH.GRIZY
+#   PSASTRO.CATDIR		 STR     PS1.REF.20120503
+   PSASTRO.CATDIR               STR     PS1.REF.20120524
+   ZERO.POINT.USE.MEAN		BOOL	TRUE  
+END
+
+SYNTH_CAT METADATA
+   PSASTRO.CATDIR		STR SYNTH.GRIZY
+END
+
+POLE_REFCAT METADATA
+   PSASTRO.CATDIR		STR  SYNTH.GRIZY
+   ZERO.POINT.USE.MEAN		     BOOL TRUE  
+   PSASTRO.GRID.MIN.ANGLE       F32  -20
+   PSASTRO.GRID.MAX.ANGLE       F32  +20
+   PSASTRO.GRID.DEL.ANGLE       F32   0.5
+   PSASTRO.FIELD.PADDING        F32   0.5
+END
+
+TEST_REFCAT METADATA
+   PSASTRO.CATDIR		STR /data/ipp064.0/ipp/ippRefs/catdir.refcat.20120524.v0
+END
+
+STATICSKY_TESTCAL   METADATA
+   REFSTAR_MASK                BOOL FALSE
+   PSASTRO.SAVE.REFMATCH       BOOL FALSE
+   PSASTRO.FIX.CHIPS           BOOL FALSE
+   PSASTRO.USE.MODEL           BOOL FALSE
+   PSASTRO.MOSAIC.MODE         BOOL FALSE
+   DVO.GETSTAR.FIXED.ZEROPT    F32   25.0
+
+   PSASTRO.CATDIR               	STR     PS1.REF.20120524
+   ZERO.POINT.USE.MEAN          	BOOL    TRUE
+   PSASTRO.MAX.NRAW 			S32	0 
+   PSASTRO.GRID.NRAW.MAX 		S32	50000 
+   PSASTRO.MIN.INST.MAG.RAW 		F32	-21.0
+   PSASTRO.MAX.INST.MAG.RAW 		F32	-15.0 
+   PSASTRO.GRID.MIN.INST.MAG.RAW 	F32	-21.0 
+   PSASTRO.GRID.MAX.INST.MAG.RAW 	F32	-15.0  
+   DVO.GETSTAR.MIN.MAG.INST 		F32	-14.0
+END
+
+STATICSKY_CAL   METADATA
+    REFSTAR_MASK                BOOL FALSE
+    PSASTRO.SAVE.REFMATCH       BOOL FALSE
+    PSASTRO.FIX.CHIPS           BOOL FALSE
+    PSASTRO.USE.MODEL           BOOL FALSE
+    PSASTRO.MOSAIC.MODE         BOOL FALSE
+    DVO.GETSTAR.FIXED.ZEROPT    F32   25.0
+    DVO.GETSTAR.MIN.MAG.INST	F32   -15.0
+    PSASTRO.CATDIR                       STR     PS1.REF.20120524
+    ZERO.POINT.USE.MEAN                  BOOL    TRUE
+
+    ## for skycell, radius shouldn't need to be as large as 90 pixel default. deeper stacks, crowded fields can be problems
+    PSASTRO.MATCH.RADIUS.N0 F32    15
+    PSASTRO.MATCH.RADIUS.N1 F32    10
+    PSASTRO.MATCH.RADIUS.N2 F32    5
+    PSASTRO.MATCH.RADIUS.N3 F32    1
+    PSASTRO.MATCH.RADIUS.N4 F32    0.5
+    PSASTRO.MATCH.FIT.NITER S32    5
+
+    PSASTRO.MAX.ERROR      F32      0.2  # in arcsec units, if larger than 0.2" on skycell then a problem..
+
+END
+
+
+# revised setup for MD nightly stack inputs, should work for case of N~2-30
+# - similar to DEEPCAL except for MIN.NSTAR 5 to attemp more edge skycells if poorer
+STATICSKY_NIGHTCAL   METADATA
+   PSASTRO.CATDIR                  STR   PS1.REF.20120524  # reset here to ensure same catalog is used when reprocessing set uniformly
+   REFSTAR_MASK                    BOOL  FALSE
+   PSASTRO.SAVE.REFMATCH           BOOL  FALSE
+   PSASTRO.FIX.CHIPS               BOOL  FALSE
+   PSASTRO.USE.MODEL               BOOL  FALSE
+   PSASTRO.MOSAIC.MODE             BOOL  FALSE
+   ZERO.POINT.USE.MEAN             BOOL  TRUE
+   PSASTRO.FIELD.PADDING           F32   0.01   # skycells are well defined, don't need large padding. 1% of 6400 is 64 pixels
+   PSASTRO.MAX.NRAW                S32   1000   # include more than MAX.NREF to account for extras like false-positives
+   PSASTRO.MAX.NREF            	   S32   500   # if edge skycell ~5% then want >50 to match (hit ~40% in normal field matches)
+   PSASTRO.MIN.INST.MAG.RAW        F32   -25.0  # 
+   PSASTRO.MAX.INST.MAG.RAW        F32   -5.0
+   PSASTRO.GRID.SEARCH 		   BOOL  FALSE  # skycell/stack and astrom well known, when used could cause problems and not help
+   #PSASTRO.GRID.NRAW.MAX           S32   2000
+   #PSASTRO.GRID.NREF.MAX 	    S32   2000
+   #PSASTRO.GRID.MIN.INST.MAG.RAW   F32   -21.0
+   #PSASTRO.GRID.MAX.INST.MAG.RAW   F32   -14.0
+   DVO.GETSTAR.MAX.RHO		   F32	 6000.0  # slightly larger than MAX.NREF 
+   DVO.GETSTAR.MIN.MAG.INST        F32   -25.0   # set absurd range to cover large range of exptime, then clamp...
+   DVO.GETSTAR.MIN.MAG		   F32	 15.0    # only used if keyword problem
+   REFSTAR_CLAMP_MAG_MIN 	   F32	 15.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list
+   DVO.GETSTAR.FIXED.ZEROPT        F32   0.0     # not really needed, exptime overly dominates
+  
+   ## for skycell/stack astrom well known, radius shouldn't need to be as large as 90 pixel default. in deeper stacks can be problems
+   PSASTRO.MATCH.RADIUS.N0         F32   5 
+   PSASTRO.MATCH.RADIUS.N1 	   F32   3 
+   PSASTRO.MATCH.RADIUS.N2 	   F32   1
+   PSASTRO.MATCH.RADIUS.N3 	   F32   0.5
+   PSASTRO.MATCH.FIT.NITER 	   S32   4 
+   PSASTRO.MAX.ERROR       	   F32   0.2  # in arcsec units, still liberal limit for well known astrometry for skycells
+   PSASTRO.MIN.NSTAR       	   S32   5    # edges may not have many and require special treatment 
+END
+
+
+# revised setup for DEEP/MDS stacks with range of inputs, should work for N~2(edges)--500 inputs with large MIN/MAX.INST.MAG.RAW
+STATICSKY_DEEPCAL   METADATA
+   PSASTRO.CATDIR                  STR   PS1.REF.20120524  # reset here to ensure same catalog is used when reprocessing set uniformly
+   REFSTAR_MASK                    BOOL  FALSE
+   PSASTRO.SAVE.REFMATCH           BOOL  FALSE
+   PSASTRO.FIX.CHIPS               BOOL  FALSE
+   PSASTRO.USE.MODEL               BOOL  FALSE
+   PSASTRO.MOSAIC.MODE             BOOL  FALSE
+   ZERO.POINT.USE.MEAN             BOOL  TRUE
+   PSASTRO.FIELD.PADDING           F32   0.01   # skycells are well defined, don't need large padding. 1% of 6400 is 64 pixels
+   PSASTRO.MAX.NRAW                S32   1000   # include more than MAX.NREF to account for extras like false-positives
+   PSASTRO.MAX.NREF            	   S32    500   # if edge skycell ~10% then try ~50 to match 
+   PSASTRO.MIN.INST.MAG.RAW        F32   -25.0  # 
+   PSASTRO.MAX.INST.MAG.RAW        F32   -5.0
+   PSASTRO.GRID.SEARCH 		   BOOL  FALSE  # skycell/stack and astrom well known, when used could cause problems and not help
+   #PSASTRO.GRID.NRAW.MAX           S32   2000
+   #PSASTRO.GRID.NREF.MAX 	    S32   2000
+   #PSASTRO.GRID.MIN.INST.MAG.RAW   F32   -21.0
+   #PSASTRO.GRID.MAX.INST.MAG.RAW   F32   -14.0
+   DVO.GETSTAR.MAX.RHO		   F32	 6000.0  # N/sqdeg, slightly larger than MAX.NREF 
+   DVO.GETSTAR.MIN.MAG.INST        F32   -25.0   # set absurd range to cover large range of exptime, then clamp...
+   DVO.GETSTAR.MIN.MAG		   F32	 15.0    # only used if keyword problem so also using CLAMP_MAG_MIN
+   REFSTAR_CLAMP_MAG_MIN 	   F32	 15.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list
+   DVO.GETSTAR.FIXED.ZEROPT        F32   0.0     # not really needed, exptime overly dominates
+  
+   ## for skycell/stack astrom well known, radius shouldn't need to be as large as 90 pixel default. in deeper stacks can be problems
+   PSASTRO.MATCH.RADIUS.N0         F32   5 
+   PSASTRO.MATCH.RADIUS.N1 	   F32   3 
+   PSASTRO.MATCH.RADIUS.N2 	   F32   1
+   PSASTRO.MATCH.RADIUS.N3 	   F32   0.5
+   PSASTRO.MATCH.FIT.NITER 	   S32   4 
+   PSASTRO.MAX.ERROR       	   F32   0.2  # in arcsec units, still liberal limit for well known astrometry for skycells
+   PSASTRO.MIN.NSTAR       	   S32   10   # edges may not have many and require special treatment 
+END
+
Index: branches/eam_branches/ipp-20140904/ippconfig/gpc2/psphot.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/gpc2/psphot.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/gpc2/psphot.config	(revision 37802)
@@ -0,0 +1,105 @@
+
+BACKGROUND.XBIN                     S32   400             # size of background superpixels
+BACKGROUND.YBIN                     S32   400             # size of background superpixels
+BACKGROUND.XSAMPLE                  F32   2.0             # size of background superpixels
+BACKGROUND.YSAMPLE                  F32   2.0             # size of background superpixels
+
+SOFTEN.VARIANCE                     BOOL  FALSE          # XXX drop? soften the errors for bright pixels
+SOFTEN.VARIANCE.FRACTION            F32   0.000		 # CZW 2013-06-20 I've disabled this, as I don't think it's needed.
+
+PEAKS_SMOOTH_SIGMA                  F32   2.5           # smoothing kernel sigma in pixels
+
+PSF_CLUMP_NX                        S32   3             # subdivide image in to NX x NY regions for 
+PSF_CLUMP_NY                        S32   3             # selecting PSF stars
+PSF_CLUMP_GRID_SCALE                F32   2.5		# XXX too large? size of Sx,Sy image pixel
+
+PSF.RESIDUALS.RADIUS   		    F32   9.0           # keep this pixel if residual is more significant than this
+PSF.RESIDUALS.SPATIAL_ORDER 	    S32   1             # fit spatial variations of the residuals at this order (0,1)
+
+# PSF model parameters : choose the PSF model desired
+PSF_MODEL              	 	    STR   PS_MODEL_PS1_V1
+# vector of simga values to use in when setting the moments window (this is shorter for gpc1 than
+# the psphot default)
+@PSF.SIGMA.VALUES                   F32   1.0  2.0  3.0  4.5  6.0  9.0 # comment due to ticket #1476
+
+PSPHOT.CR.NSIGMA.SOFTEN             F32   0.0025        # Softening parameter for weights in CR stat
+PSPHOT.CR.MAX.SIZE                  F32   0.8             # guess for limit on M_minor in pix^2
+PSPHOT.CR.MAX.MAG                   F32  -8.0             # guess for limit on Kron Mag
+PSPHOT.CR.AUTOSCALE                 BOOL  FALSE
+
+PSF.TREND.NX                        S32   6
+PSF.TREND.NY                        S32   6
+
+PSF_MAX_NSTARS                      S32   2000          # limit number of stars used for PSF model
+
+# rename NONLINEAR_FIT_SN_LIM?
+FULL_FIT_SN_LIM      		    F32   25.0
+
+APTREND.ORDER.MAX    		    S32   6
+
+PSPHOT.CRMASK.APPLY		    BOOL  TRUE		  # TEST THIS before enabling.
+
+# Extended source fit parameters
+APTEST_V1                     METADATA
+  BREAK_POINT                         STR   ENSEMBLE     
+END
+
+DIAGNOSTIC.PLOTS METADATA
+  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL  FALSE
+  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32   8
+  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32   8
+END
+
+DIFF METADATA
+  BACKGROUND.XBIN		    S32  128            # size of background superpixels
+  BACKGROUND.YBIN	    	    S32  128            # size of background superpixels
+  DIFF_STATS			    BOOL TRUE	       # Calculate diff-specific stats
+  OUTPUT.FORMAT		            STR  PS1_DV3       # Format of output file
+
+  PSPHOT.EXT.NSIGMA.LIMIT	    F32	 0.0
+  PSPHOT.EXT.DIFF.ALTERNATE	    BOOL TRUE
+  PSPHOT.EXT.DIFF.ALTERNATE.THRESH  F32	 1.25
+
+  # XXX enable these when MOPS is ready
+  # LMM_FIT_CHISQ_CONVERGENCE         BOOL FALSE
+  # LMM_FIT_GAIN_FACTOR_MODE          S32  2
+  # PSF_FIT_MIN_TOL                   F32  0.2
+  # EXT_FIT_MIN_TOL                   F32  0.2 
+  # PSF_FIT_ITER                      S32  20
+  # EXT_FIT_ITER                      S32  20
+  # FOOTPRINT_CULL_NSIGMA_DELTA       F32  10
+  # FOOTPRINT_CULL_NSIGMA_MIN         F32   2  
+
+  PSPHOT.EXT.FIT.ALL.SOURCES	    BOOL TRUE
+  PSPHOT.EXT.FIT.ALL.THRESH	    F32	 1000
+# Lower threshold as requested by MOPS
+  EXTENDED_SOURCE_MODELS METADATA 
+    TYPE      EXTENDED_SOURCE_MODEL  MODEL            SNLIM   PSF_CONVOLVED
+    TRAIL_RAW EXTENDED_SOURCE_MODEL  PS_MODEL_TRAIL   4.75    FALSE
+  END
+END
+
+SSTF_DIFF METADATA
+  PSPHOT.EXT.NSIGMA.LIMIT	    F32	 0.0
+  PSPHOT.EXT.DIFF.ALTERNATE	    BOOL TRUE
+  PSPHOT.EXT.DIFF.ALTERNATE.THRESH  F32	 1.25
+
+  PSPHOT.EXT.FIT.ALL.SOURCES	    BOOL TRUE
+  PSPHOT.EXT.FIT.ALL.THRESH	    F32	 1000
+# Lower threshold as requested by MOPS
+  EXTENDED_SOURCE_MODELS METADATA 
+    TYPE      EXTENDED_SOURCE_MODEL  MODEL            SNLIM   PSF_CONVOLVED
+    TRAIL_RAW EXTENDED_SOURCE_MODEL  PS_MODEL_TRAIL   4.75    FALSE
+  END
+END
+
+# Recipe overrides for PR reduction
+PR	METADATA
+	BACKGROUND.XBIN	      S32   128             # size    	    of background superpixels
+	BACKGROUND.YBIN	         S32   128             # size of background superpixels
+	SKY_STAT         STR   FITTED_MEAN_V4  # statistic used to measure background
+END
+
+CHIP_CONSTANT_WEIGHTPHOT METADATA
+        CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE
+END
Index: branches/eam_branches/ipp-20140904/ippconfig/recipes/ppImage.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/recipes/ppImage.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/recipes/ppImage.config	(revision 37802)
@@ -571,4 +571,28 @@
   CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
   OVERSCAN           BOOL    FALSE           # Overscan subtraction
+  NONLIN             BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD         BOOL    FALSE	   # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Dark & Overscan subtraction only
+PPIMAGE_OD          METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
   NONLIN             BOOL    FALSE           # Non-linearity correction; not implemented
   BIAS               BOOL    FALSE           # Bias subtraction
@@ -2456,2 +2480,37 @@
 END
 
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_PREMASK_PROCESS      METADATA
+  BASE.FITS        BOOL    FALSE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE            # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
Index: branches/eam_branches/ipp-20140904/ippconfig/recipes/ppStack.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/recipes/ppStack.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/recipes/ppStack.config	(revision 37802)
@@ -169,4 +169,5 @@
 STACK_THREEPI_ALT  METADATA
 END
+
 STACK_CNP  METADATA
 END
@@ -199,4 +200,28 @@
 STACK_MDTHREEPI_DEEP_1DG   METADATA
 END
+
+STACK_MD_PV3_IQ_1DG    METADATA
+END
+
+STACK_MD_PV3_REF_1DG    METADATA
+END
+
+STACK_MD_PV3_DEEP_1DG   METADATA
+END
+
+STACK_MD_PV3_NIGHT_1DG  METADATA
+    STACK.TYPE      STR     NIGHTLY_STACK
+END
+
+STACK_CNP_PV3_IQ_1DG    METADATA
+END
+
+STACK_CNP_PV3_REF_1DG    METADATA
+END
+
+STACK_CNP_PV3_DEEP_1DG   METADATA
+END
+
+
 
 
Index: branches/eam_branches/ipp-20140904/ippconfig/recipes/psastro.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/recipes/psastro.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/recipes/psastro.config	(revision 37802)
@@ -170,5 +170,12 @@
 # report and reject stars with reported magnitudes less than this value. These non physical
 # magnitudes are errors in the reference catalog (this value is sky magnitude, not instrumental)
+# -- and now also for greater than a sky magnitude (should be 24-25?)
 REFSTAR_CLAMP_MAG_MIN           F32 -3.0
+REFSTAR_CLAMP_MAG_MAX           F32 30.0
+
+# restrict ref catalog for zero point determination 
+# -- can be put into photcode groups as well
+REFSTAR.ZP.MAX.MAG  F32  30.0
+REFSTAR.ZP.MIN.MAG  F32  -3.0
 
 EXTRACT_MAX_MAG                 F32 -15.0
@@ -274,4 +281,10 @@
 END
 
+CNP_ASTRO_PV3 METADATA
+END
+
+MD_ASTRO_PV3 METADATA
+END
+
 SYNTH_CAT METADATA
 END
@@ -299,2 +312,4 @@
 END
 
+STATICSKY_MD_PV3_DEEPCAL   METADATA
+END
Index: branches/eam_branches/ipp-20140904/ippconfig/recipes/psphot.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/recipes/psphot.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/recipes/psphot.config	(revision 37802)
@@ -233,7 +233,8 @@
 # Extended source fit parameters
 # these models are used for high-quality shape analysis after all sources have been removed
-EXTENDED_SOURCE_FITS                BOOL  FALSE  # perform the detailed extended sourc fits?
-EXTENDED_SOURCE_FITS_INTERACTIVE    BOOL  FALSE  # perform the detailed extended sourc fits?
+EXTENDED_SOURCE_FITS                BOOL  FALSE  # perform the detailed extended source fits?
+EXTENDED_SOURCE_FITS_INTERACTIVE    BOOL  FALSE  # perform the detailed extended source fits?
 EXTENDED_SOURCE_FITS_POISSON        BOOL  FALSE   # use poisson errors for extended source models
+EXTENDED_SOURCE_GALAXY_PARAMS       BOOL  FALSE  # measure galaxy parameters
 
 EXTENDED_SOURCE_MODELS_SELECTION    STR   ALL
@@ -412,5 +413,5 @@
 
 # psphotStack source matching parameters
-PSPHOT.STACK.MIN.DETECT.FOR.FORCED  S32   2   # number of bands that an object must be detected in before creating
+PSPHOT.STACK.MIN.DETECT.FOR.FORCED  S32   1   # number of bands that an object must be detected in before creating
                                               # sources in undetected bands
                                               
@@ -426,10 +427,10 @@
 PSPHOT.STACK.MATCH.FILTERS   METADATA
     TYPE        PSPHOT_STACK.MATCH.FILTER FILTER.ID ORDER MATCH.ALL Y.RATIO.MAX
-    gband       PSPHOT_STACK.MATCH.FILTER   g        4       FALSE      0
-    rband       PSPHOT_STACK.MATCH.FILTER   r        2       FALSE      1.7
-    iband       PSPHOT_STACK.MATCH.FILTER   i        1       FALSE      1.6
-    zband       PSPHOT_STACK.MATCH.FILTER   z        3       FALSE      1.65
+    gband       PSPHOT_STACK.MATCH.FILTER   g        4       TRUE      0
+    rband       PSPHOT_STACK.MATCH.FILTER   r        2       TRUE      0
+    iband       PSPHOT_STACK.MATCH.FILTER   i        1       TRUE      0
+    zband       PSPHOT_STACK.MATCH.FILTER   z        3       TRUE      0
     yband       PSPHOT_STACK.MATCH.FILTER   y        5       TRUE       0
-    wband       PSPHOT_STACK.MATCH.FILTER   w        0       FALSE      0
+    wband       PSPHOT_STACK.MATCH.FILTER   w        0       TRUE      0
 END
 
@@ -446,5 +447,5 @@
 
 # if true keep all matched sources, even if we get a non-finite aperture flux measurement
-PSPHOT.STACK.KEEP.BAD.MATCHES  BOOL     F
+PSPHOT.STACK.KEEP.BAD.MATCHES  BOOL     T
 
 RADIAL_APERTURES                    BOOL  F    # calculate flux in circular radial apertures?
@@ -479,4 +480,5 @@
 STACKPHOT                             METADATA
   EXTENDED_SOURCE_FITS                BOOL  TRUE  # perform any of the aperture-like measurements?
+  EXTENDED_SOURCE_GALAXY_PARAMS       BOOL  TRUE  # measure additional paramters for "galaxies"
   EXTENDED_SOURCE_SN_LIM              F32   10.0
   EXTENDED_SOURCE_PETROSIAN           BOOL  TRUE
@@ -494,5 +496,5 @@
   RADIAL_APERTURES                    BOOL  T    # calculate flux in circular radial apertures?
   RADIAL_APERTURES_SN_LIM             F32   0.0  # S/N limit for radial aperture calculation
-  OUTPUT.FORMAT                       STR   PS1_SV3
+  OUTPUT.FORMAT                       STR   PS1_SV4
 
   # subtract radial profiles for extremely bright stars?
@@ -653,5 +655,5 @@
 
 SSTF_DIFF METADATA
-  PEAKS_NSIGMA_LIMIT_2                F32   4.0             # peak significance threshold  
+  PEAKS_NSIGMA_LIMIT_2              F32  3.5           # peak significance threshold -- MOPS would like to see 4.0->3.5 since ppMops fixed
   DIFF_STATS			    BOOL TRUE	       # Calculate diff-specific stats
   OUTPUT.FORMAT		            STR  PS1_DV3       # Format of output file
Index: branches/eam_branches/ipp-20140904/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/recipes/reductionClasses.mdc	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/recipes/reductionClasses.mdc	(revision 37802)
@@ -717,4 +717,83 @@
 END
 
+## MD stacks -- PV3 version (NO bscale correction and other changes)
+MD_PV3_NIGHT_STACK_1DG         METADATA
+      STACK_PPSTACK   STR      STACK_MD_PV3_NIGHT_1DG
+      STACK_PPSUB     STR      STACK_1DG
+      STACK_PSPHOT    STR      STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STATICSKY_CALIBRATION   STR     STATICSKY_NIGHTCAL
+END
+
+MD_PV3_IQ_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_MD_PV3_IQ_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+MD_PV3_REF_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_MD_PV3_REF_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+MD_PV3_DEEP_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_MD_PV3_DEEP_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+## CNP stacks -- PV3 version (NO bscale correction and other changes)
+CNP_PV3_IQ_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_CNP_PV3_IQ_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+CNP_PV3_REF_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_CNP_PV3_REF_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+CNP_PV3_DEEP_STACK_1DG            METADATA
+      STACK_PPSTACK           STR     STACK_CNP_PV3_DEEP_1DG
+      STACK_PPSUB             STR     STACK_1DG
+      STACK_PSPHOT            STR     STACK
+      STACKPHOT_PSPHOT        STR     STACKPHOT
+      STACKPHOT_PPSUB         STR     STACKPHOT_1DG 
+      STACKPHOT_PPSTACK       STR     STACKPHOT 
+      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
+      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL 
+END
+
+
+
+
 
 # quick stacks
@@ -1022,4 +1101,20 @@
 DETREND_ONLY		METADATA
 	CHIP_PPIMAGE	STR	PPIMAGE_DET_ONLY
+	CHIP_PSPHOT	STR	CHIP
+	WARP_PSWARP	STR	WARP
+	STACK_PPSTACK	STR	STACK
+	STACK_PPSUB	STR	STACK
+	STACK_PSPHOT	STR	STACK
+	DIFF_PPSUB	STR	DIFF
+	DIFF_PSPHOT	STR	DIFF
+	JPEG_BIN1	STR	PPIMAGE_J1
+	JPEG_BIN2	STR	PPIMAGE_J2
+	FAKEPHOT	STR	FAKEPHOT
+	PSASTRO		STR	DEFAULT_RECIPE
+END
+
+# Detrend Processing only for raw data
+DARK_ONLY		METADATA
+	CHIP_PPIMAGE	STR	PPIMAGE_OD
 	CHIP_PSPHOT	STR	CHIP
 	WARP_PSWARP	STR	WARP
@@ -1296,12 +1391,86 @@
 END
 
+CNP_PV3     METADATA
+        CHIP_PPIMAGE      STR     CHIP
+        CHIP_PSPHOT       STR     CHIP
+        WARP_PSWARP       STR     WARP
+        STACK_PPSTACK     STR     STACK
+        STACK_PPSUB       STR     STACK
+        STACK_PSPHOT      STR     STACK
+        DIFF_PPSUB        STR     DIFF
+        DIFF_PSPHOT       STR     DIFF
+        JPEG_BIN1         STR     PPIMAGE_J1
+        JPEG_BIN2         STR     PPIMAGE_J2
+        FAKEPHOT          STR     FAKEPHOT
+        ADDSTAR           STR     ADDSTAR
+        PSASTRO           STR     CNP_ASTRO_PV3
+        STACKPHOT_PSPHOT  STR     STACKPHOT
+        STACKPHOT_PPSUB   STR     STACKPHOT
+        STACKPHOT_PPSTACK STR     STACKPHOT
+        STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
+        BACKGROUND_PPBACKGROUND STR     BACKGROUND
+        BACKGROUND_PSWARP       STR     BACKGROUND
+        PSVIDEOPHOT             STR     PSVIDEOPHOT
+        STATICSKY_CALIBRATION   STR     STATICSKY_CAL
+END
+
+MD_PV3     METADATA
+        CHIP_PPIMAGE      STR     CHIP
+        CHIP_PSPHOT       STR     CHIP
+        WARP_PSWARP       STR     WARP
+        STACK_PPSTACK     STR     STACK_1DG
+        STACK_PPSUB       STR     STACK
+        STACK_PSPHOT      STR     STACK_1DG
+        DIFF_PPSUB        STR     DIFF
+        DIFF_PSPHOT       STR     DIFF
+        JPEG_BIN1         STR     PPIMAGE_J1
+        JPEG_BIN2         STR     PPIMAGE_J2
+        FAKEPHOT          STR     FAKEPHOT
+        ADDSTAR           STR     ADDSTAR
+        PSASTRO           STR     MD_ASTRO_PV3
+        STACKPHOT_PSPHOT  STR     STACKPHOT
+        STACKPHOT_PPSUB   STR     STACKPHOT
+        STACKPHOT_PPSTACK STR     STACKPHOT
+        STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
+        BACKGROUND_PPBACKGROUND STR     BACKGROUND
+        BACKGROUND_PSWARP       STR     BACKGROUND
+        PSVIDEOPHOT             STR     PSVIDEOPHOT
+        STATICSKY_CALIBRATION   STR     STATICSKY_MD_DEEPCAL_PV3
+END
+
+
 # random user tests (may not be stable or consistent)
 TEST1 METADATA
-   STACK_PPSTACK   STR TEST1
-   STACK_PPSUB     STR STACK
-   STACK_PSPHOT    STR STACK
+#  CHIP_PPIMAGE    STR PPIMAGE_PREMASK_PROCESS
+   CHIP_PPIMAGE    STR APTEST_V1
+   CHIP_PSPHOT     STR APTEST_V1
+   PSASTRO                  STR     DEFAULT_RECIPE
+   FAKEPHOT                 STR     FAKEPHOT
+   WARP_PSWARP              STR     WARP
+   STACK_PPSTACK            STR     STACK
+   STACK_PPSUB              STR     STACK
+   STACK_PSPHOT             STR     STACK
+   DIFF_PPSUB               STR     DIFF
+   DIFF_PSPHOT              STR     DIFF
+   JPEG_BIN1                STR     PPIMAGE_J1
+   JPEG_BIN2                STR     PPIMAGE_J2
+   ADDSTAR                  STR     ADDSTAR
+   STACKPHOT_PSPHOT         STR     STACKPHOT
+   STACKPHOT_PPSUB          STR     STACKPHOT
+   STACKPHOT_PPSTACK        STR     STACKPHOT
+   STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
+   BACKGROUND_PPBACKGROUND  STR     BACKGROUND
+   BACKGROUND_PSWARP        STR     BACKGROUND
+   PSVIDEOPHOT              STR     PSVIDEOPHOT
+   STATICSKY_CALIBRATION    STR     STATICSKY_CAL
+   FULLFORCE_PSPHOT         STR     FULLFORCE_WARP
+#   STACK_PPSTACK   STR TEST1
+#   STACK_PPSUB     STR STACK
+#   STACK_PSPHOT    STR STACK
 END
     
 TEST2 METADATA
+   CHIP_PPIMAGE    STR PPIMAGE_DET_ONLY
+   CHIP_PSPHOT     STR CHIP
    STACK_PPSTACK   STR TEST2
    STACK_PPSUB     STR STACK
Index: branches/eam_branches/ipp-20140904/ippconfig/simple/psphot.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/simple/psphot.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/simple/psphot.config	(revision 37802)
@@ -1,2 +1,2 @@
 
-SAVE.RESID	BOOL 	TRUE
+SAVE.RESID	BOOL 	FALSE
Index: branches/eam_branches/ipp-20140904/ippconfig/system.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/system.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/system.config	(revision 37802)
@@ -11,4 +11,5 @@
 	GPC1			STR	gpc1/camera.config		# Pan-STARRS GPC1
 	GPC1-TDI		STR	gpc1-tdi/camera.config		# Pan-STARRS GPC1 with TDI guiding
+	GPC2			STR	gpc2/camera.config		# Pan-STARRS GPC2
 	TC3			STR	tc3/camera.config		# Pan-STARRS Test Camera III
 	ESOWFI			STR	esowfi/camera.config		# ESO Wide-Field Imager
Index: branches/eam_branches/ipp-20140904/ippconfig/tc3/Makefile.am
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/tc3/Makefile.am	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/tc3/Makefile.am	(revision 37802)
@@ -3,9 +3,10 @@
 
 install_files = \
-	dvo.config \
-	camera.config \
-	format.config \
+	dvo.config        \
+	camera.config     \
+	format.config     \
 	format_ps2.config \
-	ppImage.config
+	ppImage.config    \
+	ppMerge.config
 
 install_DATA = $(install_files)
Index: branches/eam_branches/ipp-20140904/ippconfig/tc3/camera.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/tc3/camera.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/tc3/camera.config	(revision 37802)
@@ -47,4 +47,12 @@
 # move this elsewhere?  we need a lookup table to go from filter ID to abstract name
 FILTER.ID       METADATA
+   r        MULTI
+   r        STR   Not available
+   g        STR   g.00001
+   r        STR   r.00001
+   i        STR   i.00001
+   z        STR   z.00001
+   y        STR   y.00001
+   w        STR   w.00001
 	NONE	STR	NONE
 	B	STR	B
@@ -74,16 +82,35 @@
 END
 
-# Recipe options
+# Recipe options (if not listed here, we only use the default)
 RECIPES		METADATA
-	# Other recipes
-#        PSPHOT          STR     tc3/psphot.config           # psphot details
-#        PSASTRO         STR     tc3/psastro.config          # psastro details
-#	PPSTATS		STR	tc3/ppStats.config		# ppStats recipe
-	PPIMAGE         STR     tc3/ppImage.config		# ppImage recipe
+	PPIMAGE		STR	tc3/ppImage.config
+	PPMERGE		STR	tc3/ppMerge.config
+#	PSASTRO		STR	tc3/psastro.config
+#	PSPHOT		STR	tc3/psphot.config
+#	PSWARP		STR	tc3/pswarp.config
+#       PSVIDEOPHOT     STR     tc3/psvideophot.config
+#	REJECTIONS      STR     tc3/rejections.config       # rejection recipe
+#	PPSTACK		STR	tc3/ppStack.config
 END
+
+# reduction classes (recipes which are grouped together)
+REDUCTION	STR	recipes/reductionClasses.mdc
 
 FITSTYPES       STR     recipes/fitstypes.mdc
 
 FILERULES       STR     recipes/filerules-split.mdc
+
+EXTNAME.RULES METADATA
+  CMF.HEAD STR {CHIP.NAME}.hdr
+  CMF.DATA STR {CHIP.NAME}.psf # use .PSF and .EXT?
+  CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
+  CMF.XRAD STR {CHIP.NAME}.xrad # use .PSF and .EXT?
+  CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
+
+  PSF.HEAD  STR	{CHIP.NAME}.hdr
+  PSF.TABLE STR {CHIP.NAME}.psf_model
+  PSF.RESID STR {CHIP.NAME}.psf_resid
+END
 
 BLANK.HEADERS	METADATA
@@ -93,2 +120,5 @@
 	FPA.OBS		STR	EXPNUM
 END
+
+PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.NAME}	# Rule for generating photcode
+
Index: branches/eam_branches/ipp-20140904/ippconfig/tc3/format_ps2.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/tc3/format_ps2.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/tc3/format_ps2.config	(revision 37802)
@@ -7,5 +7,5 @@
 	CONTROLR	STR	STARGRASP
 	INSTRUME	STR	tc3
-	EXTEND		BOOL	T
+#	EXTEND		BOOL	T
 END
 
@@ -304,10 +304,12 @@
 # Where there might be some ambiguity, specify the format
 FORMATS		METADATA
-	FPA.RA		STR	HOURS
+	FPA.RA		STR	DEGREES
 	FPA.DEC		STR	DEGREES
 	FPA.LONGITUDE	STR	HOURS
 	FPA.LATITUDE	STR	DEGREES
-	FPA.TIME	STR	MJD
-	CELL.TIME	STR	MJD
+        FPA.TIME        STR     YEAR.FIRST
+        CELL.TIME       STR     YEAR.FIRST
+#	FPA.TIME	STR	MJD
+#	CELL.TIME	STR	MJD
         CELL.BINNING    STR     TOGETHER
 	CELL.READNOISE	STR	ADU
Index: branches/eam_branches/ipp-20140904/ippconfig/tc3/ppImage.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/tc3/ppImage.config	(revision 37801)
+++ branches/eam_branches/ipp-20140904/ippconfig/tc3/ppImage.config	(revision 37802)
@@ -1,9 +1,16 @@
 ### ppImage recipe configuration file for Megacam
+
+# binned output image options
+BIN1.XBIN               S32      16
+BIN1.YBIN               S32      16
+BIN2.XBIN               S32     150
+BIN2.YBIN               S32     150
 
 # Overscan subtraction
 OVERSCAN.SINGLE		BOOL	FALSE		# Reduce overscan to a single value?
+OVERSCAN.STAT           STR     MEDIAN
+OVERSCAN.BOXCAR         S32     3
 OVERSCAN.FIT		STR	NONE		# NONE | POLYNOMIAL | SPLINE
 OVERSCAN.ORDER		S32	0		# Order of polynomial fit
-OVERSCAN.STAT		STR	MEAN		# MEAN | MEDIAN
 
 OVERSCAN	BOOL	TRUE		# Overscan subtraction
@@ -13,4 +20,7 @@
 SHUTTER		BOOL	FALSE		# Shutter correction
 FRINGE		BOOL	FALSE		# Fringe subtraction
+
+# Normalization class
+NORM.CLASS              STR     CHIP             # How to find the per-class normalizations
 
 # this table lists extra constraints which should be applied when
@@ -38,8 +48,5 @@
 # only apply the fringe for these filters
 FRINGE.FILTERS  MULTI
-FRINGE.FILTERS	STR r
-FRINGE.FILTERS	STR i
-FRINGE.FILTERS	STR z
-
+FRINGE.FILTERS	STR NONE
 
 ################################################################################
@@ -50,5 +57,5 @@
 CHIP   METADATA
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE            # Bias subtraction
   DARK            BOOL    TRUE            # Dark subtraction
   SHUTTER         BOOL    FALSE            # Shutter correction
@@ -182,5 +189,5 @@
 PPIMAGE_OB        METADATA
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
   DARK            BOOL    FALSE           # Dark subtraction
   SHUTTER         BOOL    FALSE           # Shutter correction
@@ -315,2 +322,104 @@
   BIN2.YBIN       S32     1               # Image is already binned
 END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_FLATPROC_PREMASK       METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  NONLIN             BOOL    FALSE           # apply non-linearity correction 
+  BIAS               BOOL    FALSE           # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_FLATMASK_PROCESS      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
+
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_PREMASK_PROCESS      METADATA
+  BASE.FITS        BOOL    FALSE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE            # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
Index: branches/eam_branches/ipp-20140904/ippconfig/tc3/ppMerge.config
===================================================================
--- branches/eam_branches/ipp-20140904/ippconfig/tc3/ppMerge.config	(revision 37802)
+++ branches/eam_branches/ipp-20140904/ippconfig/tc3/ppMerge.config	(revision 37802)
@@ -0,0 +1,72 @@
+# Mask generation --- already included in default, above
+PPMERGE_DARKMASK METADATA
+  ITER               S32    3
+  MASK.SUSPECT.SIGMA F32	8.0		# Threshold for suspect pixels (sigma)
+  MASK.BAD	     F32	0.1		# Threshold for bad pixels 
+  MASK.MODE	     STR	FRACTION	# Meaning of threshold : value, sigma
+  SAMPLE             S32    100000          # Sampling factor for measuring the background
+END
+
+PPMERGE_FLATMASK METADATA
+  ITER           S32    3
+  MASK.SUSPECT.SIGMA F32	3.0		# Threshold for suspect pixels (sigma)
+  MASK.BAD	 F32	0.1		# Threshold for bad pixels (sigma)
+  MASK.MODE	 STR	FRACTION	# Threshold for bad pixels (sigma)
+  SAMPLE         S32    100000          # Sampling factor for measuring the background
+END
+
+ROWS		S32	32		# Number of rows to read at once
+
+FRINGE.NUM          S32     1000        # Number of fringe regions per cell
+FRINGE.SIZE         S32     5           # Half-size of fringe regions
+FRINGE.XSMOOTH      S32     3           # Number of smoothing regions per cell in x
+FRINGE.YSMOOTH      S32     3           # Number of smoothing regions per cell in y
+FRINGE.SMOOTH       BOOL    TRUE        # Smooth the output image?
+FRINGE.SMOOTH.SIGMA F32     2.0         # Sigma of smoothing Gaussian
+
+# Ordinates for fitting dark current
+# example for linear in darktime only
+DARK.ORDINATES	METADATA
+	CELL.EXPOSURE	S32	1
+END
+
+# Ordinates for fitting dark current as function of darktime and fpa temp:
+# DARK.ORDINATES	METADATA
+# 	CELL.DARKTIME	S32	1
+#  	FPA.TEMP	METADATA
+#  		ORDER	S32	1
+#  		SCALE	BOOL	TRUE
+# 		RULE	STR	FPA.TEMP * CELL.DARKTIME
+#  		MIN	F32	-95
+#  		MAX	F32	-50
+#  	END
+# END
+
+# Ordinates for fitting dark current as function of darktime and fpa temp:
+# Counts = C0 + (CT0 + CT1*Temp)*exptime
+# the 0th order term is implied, right?
+# Note: GPC1 has bad values for DARKTIME in unpredictable cells; use EXPOSURE for now
+
+## Dark model with linear temperature dependence
+## DARK.ORDINATES	METADATA
+## 	CELL.EXPOSURE	S32	1
+##  	TEMP	METADATA
+##  		ORDER	S32	1
+## 		RULE	STR	CHIP.TEMPERATURE * CELL.EXPOSURE
+##  	END
+## END
+
+## Dark model with quadratic temperature dependence : too sensitive to temperature range
+## DARK.ORDINATES	METADATA
+## 	CELL.EXPOSURE	S32	1
+##   	TEMP	METADATA
+##   		ORDER	S32	1
+##  		RULE	STR	CHIP.TEMPERATURE * CELL.EXPOSURE
+##   	END
+##   	TEMP2	METADATA
+##   		ORDER	S32	1
+##  		RULE	STR	CHIP.TEMPERATURE * CHIP.TEMPERATURE * CELL.EXPOSURE
+##   	END
+## END
+
+
