Index: trunk/Ohana/src/libautocode/def/cmf-ps1-v5-lensing-v0.d
===================================================================
--- trunk/Ohana/src/libautocode/def/cmf-ps1-v5-lensing-v0.d	(revision 37993)
+++ trunk/Ohana/src/libautocode/def/cmf-ps1-v5-lensing-v0.d	(revision 37993)
@@ -0,0 +1,105 @@
+# name of structure type
+STRUCT  CMF_PS1_V5
+EXTNAME CMF_PS1_V5
+TYPE    BINTABLE
+SIZE    320
+
+# elements of data structure / FITS table
+FIELD detID,          IPP_IDET,          unsigned int, detection ID                     
+FIELD X,              X_PSF,             float,    x coord,               pixels
+FIELD Y,              Y_PSF,             float,    y coord,               pixels
+FIELD dX,             X_PSF_SIG,         float,    x coord error,         pixels
+FIELD dY,             Y_PSF_SIG,         float,    y coord error,         pixels
+FIELD posangle,       POSANGLE,          float,    Posangle at source,    degrees
+FIELD pltscale,       PLTSCALE,          float,    Plate Scale at source, arcsec/pixel
+FIELD M,              PSF_INST_MAG,      float,    inst mags,             mags
+FIELD dM,             PSF_INST_MAG_SIG,  float,    inst mag error,        mags
+FIELD Flux,           PSF_INST_FLUX,     float,    psf flux,              counts
+FIELD dFlux,          PSF_INST_FLUX_SIG, float,    psf flux error,        counts      
+FIELD Map,            AP_MAG,            float,    standard aperture mag, mags
+FIELD MapRaw,         AP_MAG_RAW,        float,    raw aperture mag,      mags
+FIELD apRadius,       AP_MAG_RADIUS,     float,    radius used for aper,  pixels
+FIELD apFlux,         AP_FLUX,           float,    aperture flux,         counts
+FIELD apFluxErr,      AP_FLUX_SIG,       float,    error on ap flux,      counts
+FIELD apNpix,         AP_NPIX,           int,      pixels used by aper,   pixels
+FIELD Mcalib,         CAL_PSF_MAG,       float,    calibrated psf mag,    mags
+FIELD dMcal,          CAL_PSF_MAG_SIG,   float,    zero point scatter,    mags
+
+# this field is in the wrong order (is between DEC and sky in cmf, but breaks byte boundary).
+# I need to move these bytes around on read (fix PS1_V5?)
+FIELD Mpeak,          PEAK_FLUX_AS_MAG,  float,    peak flux as a mag,    mags
+
+# NOTE: RA & DEC (both double) need to be on an 8-byte boundary...
+FIELD RA,             RA_PSF,            double,   PSF RA coord,          degrees
+FIELD DEC,            DEC_PSF,           double,   PSF DEC coord,         degrees
+
+FIELD sky,            SKY,               float,    sky flux,              cnts/sec
+FIELD dSky,           SKY_SIGMA,         float,    sky flux error,        cnts/sec
+FIELD psfChisq,       PSF_CHISQ,         float,    psf fit chisq
+FIELD crNsigma,       CR_NSIGMA,         float,    Nsigma deviations from PSF to CF
+FIELD extNsigma,      EXT_NSIGMA,        float,    Nsigma deviations from PSF to EXT
+FIELD fx,             PSF_MAJOR,         float,    psf fit major axis,    pixels
+FIELD fy,             PSF_MINOR,         float,    psf fit minor axis,    pixels
+FIELD df,             PSF_THETA,         float,    ellipse angle,         degrees
+FIELD k,              PSF_CORE,          float,    extra PSF parameter,   unitless
+FIELD fwhmMaj,        PSF_FWHM_MAJ,      float,    true fwhm of psf,      pixels
+FIELD fwhmMin,        PSF_FWHM_MIN,      float,    true fwhm (minor),     pixels
+FIELD psfQF,          PSF_QF,            float,    quality factor
+FIELD psfQFperf,      PSF_QF_PERFECT,    float,    quality factor perfect
+FIELD psfNdof,        PSF_NDOF,          int,      psf degrees of freedom
+FIELD psfNpix,        PSF_NPIX,          int,      psf number of pixels
+FIELD Mxx,            MOMENTS_XX,        float,    second moment X,       pixels^2
+FIELD Mxy,            MOMENTS_XY,        float,    second moment Y,       pixels^2
+FIELD Myy,            MOMENTS_YY,        float,    second moment XY,      pixels^2
+FIELD M3c,            MOMENTS_M3C,       float,    third moment cos(t),   pixels^3
+FIELD M3s,            MOMENTS_M3S,       float,    third moment sin(t),   pixels^3
+FIELD M4c,            MOMENTS_M4C,       float,    fourth moment cos(t),  pixels^4
+FIELD M4s,            MOMENTS_M4S,       float,    fourth moment sin(t),  pixels^4
+
+FIELD X11_sm_obj,     X11_SM_OBJ,        float,    lensing smear
+FIELD X12_sm_obj,     X12_SM_OBJ,        float,    lensing smear
+FIELD X22_sm_obj,     X22_SM_OBJ,        float,    lensing smear
+FIELD E1_sm_obj,      E1_SM_OBJ,         float,    lensing smear
+FIELD E2_sm_obj,      E2_SM_OBJ,         float,    lensing smear
+
+FIELD X11_sh_obj,     X11_SH_OBJ,        float,    lensing shear
+FIELD X12_sh_obj,     X12_SH_OBJ,        float,    lensing shear
+FIELD X22_sh_obj,     X22_SH_OBJ,        float,    lensing shear
+FIELD E1_sh_obj,      E1_SH_OBJ,         float,    lensing shear
+FIELD E2_sh_obj,      E2_SH_OBJ,         float,    lensing shear
+
+FIELD X11_sm_psf,     X11_SM_PSF,        float,    lensing smear
+FIELD X12_sm_psf,     X12_SM_PSF,        float,    lensing smear
+FIELD X22_sm_psf,     X22_SM_PSF,        float,    lensing smear
+FIELD E1_sm_psf,      E1_SM_PSF,         float,    lensing smear
+FIELD E2_sm_psf,      E2_SM_PSF,         float,    lensing smear
+
+FIELD X11_sh_psf,     X11_SH_PSF,        float,    lensing shear
+FIELD X12_sh_psf,     X12_SH_PSF,        float,    lensing shear
+FIELD X22_sh_psf,     X22_SH_PSF,        float,    lensing shear
+FIELD E1_sh_psf,      E1_SH_PSF,         float,    lensing shear
+FIELD E2_sh_psf,      E2_SH_PSF,         float,    lensing shear
+
+FIELD srcChipNum,     SRC_CHIP_NUM,      short,    source chip in warp
+FIELD srcChipX,       SRC_CHIP_X,        short,    source chip x coordinate
+FIELD srcChipY,       SRC_CHIP_Y,        short,    source chip y coordinate
+FIELD padding3,       SRC_CHIP_PAD,      short,    source chip in warp
+
+FIELD Mr1,            MOMENTS_R1,        float,    first radial moment,   pixels
+FIELD Mrh,            MOMENTS_RH,        float,    half radial moment,    pixels^1/2
+FIELD kronFlux,       KRON_FLUX,         float,    kron flux,             counts
+FIELD kronFluxErr,    KRON_FLUX_ERR,     float,    kron flux error,       counts
+FIELD kronInner,      KRON_FLUX_INNER,   float,    kron flux 1<R<2.5,     counts
+FIELD kronOuter,      KRON_FLUX_OUTER,   float,    kron flux 2.5<R<4,     counts
+FIELD skyLimitRad,    SKY_LIMIT_RAD,     float,    profile to sky limit (radius)
+FIELD skyLimitFlux,   SKY_LIMIT_FLUX,    float,    profile to sky limit (flux)
+FIELD skyLimitSlope,  SKY_LIMIT_SLOPE,   float,    profile to sky limit (slope)
+FIELD flags,          FLAGS,             int,      analysis flags
+FIELD flags2,         FLAGS2,            int,      analysis flags (2)
+FIELD nFrames,        N_FRAMES,          short,    images overlapping peak
+FIELD padding,        PADDING,           short,    padding for 8byte records
+
+# for an object in an image, we have three triplets that tell us about the shape:
+# second moments: Mxx, Mxy, Myy 
+# model shape parameters: F_major, F_minor, F_theta
+# centroid errors: sigma_X, sigma_Y, sigma_XY
Index: trunk/Ohana/src/libautocode/def/lensing-ps1-v5-r2.d
===================================================================
--- trunk/Ohana/src/libautocode/def/lensing-ps1-v5-r2.d	(revision 37993)
+++ trunk/Ohana/src/libautocode/def/lensing-ps1-v5-r2.d	(revision 37993)
@@ -0,0 +1,55 @@
+STRUCT       Lensing_PS1_V5_R2
+EXTNAME      DVO_LENSING_PS1_V5
+TYPE         BINTABLE
+SIZE         144
+DESCRIPTION  DVO Lensing Table 
+
+FIELD X11_sm_obj,     X11_SM_OBJ,    float,          lensing smear object X11
+FIELD X12_sm_obj,     X12_SM_OBJ,    float,          lensing smear object X12
+FIELD X22_sm_obj,     X22_SM_OBJ,    float,          lensing smear object X22
+FIELD  E1_sm_obj,      E1_SM_OBJ,    float,          lensing smear object E1
+FIELD  E2_sm_obj,      E2_SM_OBJ,    float,          lensing smear object E2
+
+FIELD X11_sh_obj,     X11_SH_OBJ,    float,          lensing shear object X11
+FIELD X12_sh_obj,     X12_SH_OBJ,    float,          lensing shear object X12
+FIELD X22_sh_obj,     X22_SH_OBJ,    float,          lensing shear object X22
+FIELD  E1_sh_obj,      E1_SH_OBJ,    float,          lensing shear object E1
+FIELD  E2_sh_obj,      E2_SH_OBJ,    float,          lensing shear object E2
+
+FIELD X11_sm_psf,     X11_SM_PSF,    float,          lensing smear psf stars X11
+FIELD X12_sm_psf,     X12_SM_PSF,    float,          lensing smear psf stars X12
+FIELD X22_sm_psf,     X22_SM_PSF,    float,          lensing smear psf stars X22
+FIELD  E1_sm_psf,      E1_SM_PSF,    float,          lensing smear psf stars E1
+FIELD  E2_sm_psf,      E2_SM_PSF,    float,          lensing smear psf stars E2
+
+FIELD X11_sh_psf,     X11_SH_PSF,    float,          lensing shear psf stars X11
+FIELD X12_sh_psf,     X12_SH_PSF,    float,          lensing shear psf stars X12
+FIELD X22_sh_psf,     X22_SH_PSF,    float,          lensing shear psf stars X22
+FIELD  E1_sh_psf,      E1_SH_PSF,    float,          lensing shear psf stars E1
+FIELD  E2_sh_psf,      E2_SH_PSF,    float,          lensing shear psf stars E2
+
+FIELD  E1_psf,         E1_PSF,       float,          polarization psf stars E1
+FIELD  E2_psf,         E2_PSF,       float,          polarization psf stars E2
+
+FIELD F_ApR5,        FLUX_AP_R5,     float,          Flux inside r = 5
+FIELD dF_ApR5,       FLUX_ERR_AP_R5, float,          error on Flux inside r = 5
+FIELD sF_ApR5,       FLUX_STD_AP_R5, float,          stdev of Flux inside r = 5
+FIELD fF_ApR5,       FLUX_FIL_AP_R5, float,          fill factor for Flux inside r = 5
+
+FIELD F_ApR6,        FLUX_AP_R6,     float,          Flux inside r = 5
+FIELD dF_ApR6,       FLUX_ERR_AP_R6, float,          error on Flux inside r = 5
+FIELD sF_ApR6,       FLUX_STD_AP_R6, float,          stdev of Flux inside r = 5
+FIELD fF_ApR6,       FLUX_FIL_AP_R6, float,          fill factor for Flux inside r = 5
+
+FIELD  detID,          DET_ID,       unsigned int,   detection ID
+FIELD  objID,          OBJ_ID,       unsigned int,   unique ID for object in table
+FIELD  catID,          CAT_ID,       unsigned int,   unique ID for table in which object was first realized
+FIELD  averef,         AVE_REF,      unsigned int,   reference to average entry      
+
+FIELD imageID,	       IMAGE_ID,     unsigned int,   reference to DVO image ID
+FIELD padding,	       PADDING,      unsigned int,   reference to DVO image ID
+
+# 28 x float
+# 4 x int
+# = 128 bytes / detection
+# for 2.5G objects + 60 overlaps, expect 15TB for forced warp
Index: trunk/Ohana/src/libdvo/include/cmf-ps1-v5-r2-lensing.h
===================================================================
--- trunk/Ohana/src/libdvo/include/cmf-ps1-v5-r2-lensing.h	(revision 37993)
+++ trunk/Ohana/src/libdvo/include/cmf-ps1-v5-r2-lensing.h	(revision 37993)
@@ -0,0 +1,101 @@
+
+/** STRUCT DEFINITION **/
+typedef struct {
+  unsigned int     detID;                // detection ID                     
+  float            X;                    // x coord (pixels)
+  float            Y;                    // y coord (pixels)
+  float            dX;                   // x coord error (pixels)
+  float            dY;                   // y coord error (pixels)
+  float            posangle;             // Posangle at source (degrees)
+  float            pltscale;             // Plate Scale at source (arcsec/pixel)
+  float            M;                    // inst mags (mags)
+  float            dM;                   // inst mag error (mags)
+  float            Flux;                 // psf flux (counts)
+  float            dFlux;                // psf flux error (counts      )
+  float            Map;                  // standard aperture mag (mags)
+  float            MapRaw;               // raw aperture mag (mags)
+  float            apRadius;             // radius used for aper (pixels)
+  float            apFlux;               // aperture flux (counts)
+  float            apFluxErr;            // error on ap flux (counts)
+  int              apNpix;               // pixels used by aper (pixels)
+  float            Mcalib;               // calibrated psf mag (mags)
+  float            dMcal;                // zero point scatter (mags)
+  float            Mpeak;                // peak flux as a mag (mags)
+  double           RA;                   // PSF RA coord (degrees)
+  double           DEC;                  // PSF DEC coord (degrees)
+  float            sky;                  // sky flux (cnts/sec)
+  float            dSky;                 // sky flux error (cnts/sec)
+  float            psfChisq;             // psf fit chisq
+  float            crNsigma;             // Nsigma deviations from PSF to CF
+  float            extNsigma;            // Nsigma deviations from PSF to EXT
+  float            fx;                   // psf fit major axis (pixels)
+  float            fy;                   // psf fit minor axis (pixels)
+  float            df;                   // ellipse angle (degrees)
+  float            k;                    // extra PSF parameter (unitless)
+  float            fwhmMaj;              // true fwhm of psf (pixels)
+  float            fwhmMin;              // true fwhm (minor) (pixels)
+  float            psfQF;                // quality factor
+  float            psfQFperf;            // quality factor perfect
+  int              psfNdof;              // psf degrees of freedom
+  int              psfNpix;              // psf number of pixels
+  float            Mxx;                  // second moment X (pixels^2)
+  float            Mxy;                  // second moment Y (pixels^2)
+  float            Myy;                  // second moment XY (pixels^2)
+  float            M3c;                  // third moment cos(t) (pixels^3)
+  float            M3s;                  // third moment sin(t) (pixels^3)
+  float            M4c;                  // fourth moment cos(t) (pixels^4)
+  float            M4s;                  // fourth moment sin(t) (pixels^4)
+
+  float            X11_sm_obj;           // lensing smear
+  float            X12_sm_obj;           // lensing smear
+  float            X22_sm_obj;           // lensing smear
+  float            E1_sm_obj;            // lensing smear
+  float            E2_sm_obj;            // lensing smear
+
+  float            X11_sh_obj;           // lensing shear
+  float            X12_sh_obj;           // lensing shear
+  float            X22_sh_obj;           // lensing shear
+  float            E1_sh_obj;            // lensing shear
+  float            E2_sh_obj;            // lensing shear
+
+  float            X11_sm_psf;           // lensing smear
+  float            X12_sm_psf;           // lensing smear
+  float            X22_sm_psf;           // lensing smear
+  float            E1_sm_psf;            // lensing smear
+  float            E2_sm_psf;            // lensing smear
+
+  float            X11_sh_psf;           // lensing shear
+  float            X12_sh_psf;           // lensing shear
+  float            X22_sh_psf;           // lensing shear
+  float            E1_sh_psf;            // lensing shear
+  float            E2_sh_psf;            // lensing shear
+
+  float            E1_psf;               // lensing shear
+  float            E2_psf;               // lensing shear
+
+  short            srcChipNum;
+  short            srcChipX;
+  short            srcChipY;
+  short            padding3;
+
+  float            Mr1;                  // first radial moment (pixels)
+  float            Mrh;                  // half radial moment (pixels^1/2)
+  float            kronFlux;             // kron flux (counts)
+  float            kronFluxErr;          // kron flux error (counts)
+  float            kronInner;            // kron flux 1<R<2.5 (counts)
+  float            kronOuter;            // kron flux 2.5<R<4 (counts)
+  float            skyLimitRad;          // profile to sky limit (radius)
+  float            skyLimitFlux;         // profile to sky limit (flux)
+  float            skyLimitSlope;        // profile to sky limit (slope)
+  int              flags;                // analysis flags
+  int              flags2;               // analysis flags (2)
+  short            nFrames;              // images overlapping peak
+  short            padding;              // padding for 8byte records
+} CMF_PS1_V5_R2_Lensing;
+
+CMF_PS1_V5_R2_Lensing *gfits_table_get_CMF_PS1_V5_R2_Lensing (FTable *table, off_t *Ndata, char *swapped);
+int      gfits_table_set_CMF_PS1_V5_R2_Lensing (FTable *ftable, CMF_PS1_V5_R2_Lensing *data, off_t Ndata);
+int      gfits_table_mkheader_CMF_PS1_V5_R2_Lensing (Header *header);
+int      gfits_convert_CMF_PS1_V5_R2_Lensing (unsigned char *data, off_t size, off_t nitems, char toStruct);
+int      Send_CMF_PS1_V5_R2_Lensing (int device, CMF_PS1_V5_R2_Lensing *data, int Ndata, int copy);
+int      Recv_CMF_PS1_V5_R2_Lensing (int device, CMF_PS1_V5_R2_Lensing **data, int *Ndata);
