Index: trunk/Ohana/src/libdvo/include/dvo.h
===================================================================
--- trunk/Ohana/src/libdvo/include/dvo.h	(revision 38062)
+++ trunk/Ohana/src/libdvo/include/dvo.h	(revision 38153)
@@ -1150,4 +1150,22 @@
 LENSFIELD(E2_sh_psf)
 
+LENSFIELD( F_ApR5);
+LENSFIELD(dF_ApR5);
+LENSFIELD(sF_ApR5);
+LENSFIELD(fF_ApR5);
+
+LENSFIELD( F_ApR6);
+LENSFIELD(dF_ApR6);
+LENSFIELD(sF_ApR6);
+LENSFIELD(fF_ApR6);
+
+LENSFIELD( F_ApR7);
+LENSFIELD(dF_ApR7);
+LENSFIELD(sF_ApR7);
+LENSFIELD(fF_ApR7);
+
+LENSFIELD(E1);
+LENSFIELD(E2);
+
 # undef LENSFIELD
 
Index: trunk/Ohana/src/libdvo/include/dvodb.h
===================================================================
--- trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38062)
+++ trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38153)
@@ -89,4 +89,12 @@
   MAG_OPTION_F_STDEV_AP_R6, 
   MAG_OPTION_F_FILL_AP_R6, 
+
+  MAG_OPTION_F_AP_R7, 
+  MAG_OPTION_F_ERR_AP_R7, 
+  MAG_OPTION_F_STDEV_AP_R7, 
+  MAG_OPTION_F_FILL_AP_R7, 
+
+  MAG_OPTION_E1, 
+  MAG_OPTION_E2, 
 } dvoMagOptionType;
 
@@ -207,4 +215,5 @@
       MEAS_REF_COLOR_BLUE,
       MEAS_REF_COLOR_RED,
+
       MEAS_X11_SM_OBJ, 
       MEAS_X12_SM_OBJ, 
@@ -227,4 +236,20 @@
       MEAS_E1_SH_PSF, 
       MEAS_E2_SH_PSF, 
+
+      MEAS_F_AP_R5, 
+      MEAS_F_ERR_AP_R5, 
+      MEAS_F_STDEV_AP_R5, 
+      MEAS_F_FILL_AP_R5, 
+
+      MEAS_F_AP_R6, 
+      MEAS_F_ERR_AP_R6, 
+      MEAS_F_STDEV_AP_R6, 
+      MEAS_F_FILL_AP_R6, 
+
+      MEAS_F_AP_R7, 
+      MEAS_F_ERR_AP_R7, 
+      MEAS_F_STDEV_AP_R7, 
+      MEAS_F_FILL_AP_R7, 
+
       MEAS_E_BV,		      // extinction (mags)
       MEAS_E_BV_ERR,
Index: trunk/Ohana/src/libdvo/include/ps1_v5_defs.h
===================================================================
--- trunk/Ohana/src/libdvo/include/ps1_v5_defs.h	(revision 38062)
+++ trunk/Ohana/src/libdvo/include/ps1_v5_defs.h	(revision 38153)
@@ -8,14 +8,15 @@
 SecFilt_PS1_V5          *SecFiltInternalTo_PS1_V5 (SecFilt *in, off_t Nvalues);
 
-typedef Lensing_PS1_V5_R2 Lensing_PS1_V5;
+Lensobj 	       	*Lensobj_PS1_V5_R0_ToInternal (Lensobj_PS1_V5_R0 *in, off_t Nvalues);
+Lensobj 	       	*Lensobj_PS1_V5_R1_ToInternal (Lensobj_PS1_V5_R1 *in, off_t Nvalues);
 
-Lensing 	       	*Lensing_PS1_V5_ToInternal (Lensing_PS1_V5 *in, off_t Nvalues);
-Lensing_PS1_V5_R2       *LensingInternalTo_PS1_V5_R2 (Lensing *in, off_t Nvalues);
-Lensobj 	       	*Lensobj_PS1_V5_ToInternal (Lensobj_PS1_V5 *in, off_t Nvalues);
-Lensobj_PS1_V5          *LensobjInternalTo_PS1_V5 (Lensobj *in, off_t Nvalues);
+Lensobj_PS1_V5_R1       *LensobjInternalTo_PS1_V5_R1 (Lensobj *in, off_t Nvalues);
 
 Lensing 	       	*Lensing_PS1_V5_R0_ToInternal (Lensing_PS1_V5_R0 *in, off_t Nvalues);
 Lensing 	       	*Lensing_PS1_V5_R1_ToInternal (Lensing_PS1_V5_R1 *in, off_t Nvalues);
 Lensing 	       	*Lensing_PS1_V5_R2_ToInternal (Lensing_PS1_V5_R2 *in, off_t Nvalues);
+Lensing 	       	*Lensing_PS1_V5_R3_ToInternal (Lensing_PS1_V5_R3 *in, off_t Nvalues);
+
+Lensing_PS1_V5_R3       *LensingInternalTo_PS1_V5_R3 (Lensing *in, off_t Nvalues);
 
 StarPar 	       	*StarPar_PS1_V5_ToInternal (StarPar_PS1_V5 *in, off_t Nvalues);
Index: trunk/Ohana/src/libdvo/src/dbExtractAverages.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dbExtractAverages.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dbExtractAverages.c	(revision 38153)
@@ -386,4 +386,22 @@
 	case MAG_OPTION_E1_SH_PSF:  { value.Flt = LensValue_E1_sh_psf  (field->photcode, lensobj); break; }
 	case MAG_OPTION_E2_SH_PSF:  { value.Flt = LensValue_E2_sh_psf  (field->photcode, lensobj); break; }
+
+	case MAG_OPTION_F_AP_R5:       { value.Flt = LensValue_F_ApR5  (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_ERR_AP_R5:   { value.Flt = LensValue_dF_ApR5 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_STDEV_AP_R5: { value.Flt = LensValue_sF_ApR5 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_FILL_AP_R5:  { value.Flt = LensValue_fF_ApR5 (field->photcode, lensobj); break; }
+
+	case MAG_OPTION_F_AP_R6:       { value.Flt = LensValue_F_ApR6  (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_ERR_AP_R6:   { value.Flt = LensValue_dF_ApR6 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_STDEV_AP_R6: { value.Flt = LensValue_sF_ApR6 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_FILL_AP_R6:  { value.Flt = LensValue_fF_ApR6 (field->photcode, lensobj); break; }
+
+	case MAG_OPTION_F_AP_R7:       { value.Flt = LensValue_F_ApR7  (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_ERR_AP_R7:   { value.Flt = LensValue_dF_ApR7 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_STDEV_AP_R7: { value.Flt = LensValue_sF_ApR7 (field->photcode, lensobj); break; }
+	case MAG_OPTION_F_FILL_AP_R7:  { value.Flt = LensValue_fF_ApR7 (field->photcode, lensobj); break; }
+
+	case MAG_OPTION_E1:  	       { value.Flt = LensValue_E1      (field->photcode, lensobj); break; }
+	case MAG_OPTION_E2:  	       { value.Flt = LensValue_E2      (field->photcode, lensobj); break; }
 
 	case MAG_OPTION_NONE:
Index: trunk/Ohana/src/libdvo/src/dbExtractMeasures.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dbExtractMeasures.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dbExtractMeasures.c	(revision 38153)
@@ -277,4 +277,10 @@
 	case MAG_OPTION_F_STDEV_AP_R6: 
 	case MAG_OPTION_F_FILL_AP_R6: 
+	case MAG_OPTION_F_AP_R7: 
+	case MAG_OPTION_F_ERR_AP_R7: 
+	case MAG_OPTION_F_STDEV_AP_R7: 
+	case MAG_OPTION_F_FILL_AP_R7: 
+	case MAG_OPTION_E1: 
+	case MAG_OPTION_E2: 
 
 	case MAG_OPTION_NONE:
@@ -735,4 +741,38 @@
       }
       break;
+
+    case MEAS_X11_SM_OBJ: { value.Flt = lensing->X11_sm_obj; break; } 
+    case MEAS_X12_SM_OBJ: { value.Flt = lensing->X12_sm_obj; break; } 
+    case MEAS_X22_SM_OBJ: { value.Flt = lensing->X22_sm_obj; break; } 
+    case MEAS_E1_SM_OBJ:  { value.Flt = lensing->E1_sm_obj; break; } 
+    case MEAS_E2_SM_OBJ:  { value.Flt = lensing->E2_sm_obj; break; } 
+    case MEAS_X11_SH_OBJ: { value.Flt = lensing->X11_sh_obj; break; } 
+    case MEAS_X12_SH_OBJ: { value.Flt = lensing->X12_sh_obj; break; } 
+    case MEAS_X22_SH_OBJ: { value.Flt = lensing->X22_sh_obj; break; } 
+    case MEAS_E1_SH_OBJ:  { value.Flt = lensing->E1_sh_obj; break; } 
+    case MEAS_E2_SH_OBJ:  { value.Flt = lensing->E2_sh_obj; break; } 
+    case MEAS_X11_SM_PSF: { value.Flt = lensing->X11_sm_psf; break; } 
+    case MEAS_X12_SM_PSF: { value.Flt = lensing->X12_sm_psf; break; } 
+    case MEAS_X22_SM_PSF: { value.Flt = lensing->X22_sm_psf; break; } 
+    case MEAS_E1_SM_PSF:  { value.Flt = lensing->E1_sm_psf; break; } 
+    case MEAS_E2_SM_PSF:  { value.Flt = lensing->E2_sm_psf; break; } 
+    case MEAS_X11_SH_PSF: { value.Flt = lensing->X11_sh_psf; break; } 
+    case MEAS_X12_SH_PSF: { value.Flt = lensing->X12_sh_psf; break; } 
+    case MEAS_X22_SH_PSF: { value.Flt = lensing->X22_sh_psf; break; } 
+    case MEAS_E1_SH_PSF:  { value.Flt = lensing->E1_sh_psf; break; } 
+    case MEAS_E2_SH_PSF:  { value.Flt = lensing->E2_sh_psf; break; } 
+
+    case MEAS_F_AP_R5:       { value.Flt = lensing-> F_ApR5; break; } 
+    case MEAS_F_ERR_AP_R5:   { value.Flt = lensing->dF_ApR5; break; } 
+    case MEAS_F_STDEV_AP_R5: { value.Flt = lensing->sF_ApR5; break; } 
+    case MEAS_F_FILL_AP_R5:  { value.Flt = lensing->fF_ApR5; break; } 
+    case MEAS_F_AP_R6:       { value.Flt = lensing-> F_ApR6; break; } 
+    case MEAS_F_ERR_AP_R6:   { value.Flt = lensing->dF_ApR6; break; } 
+    case MEAS_F_STDEV_AP_R6: { value.Flt = lensing->sF_ApR6; break; } 
+    case MEAS_F_FILL_AP_R6:  { value.Flt = lensing->fF_ApR6; break; } 
+    case MEAS_F_AP_R7:       { value.Flt = lensing-> F_ApR7; break; } 
+    case MEAS_F_ERR_AP_R7:   { value.Flt = lensing->dF_ApR7; break; } 
+    case MEAS_F_STDEV_AP_R7: { value.Flt = lensing->sF_ApR7; break; } 
+    case MEAS_F_FILL_AP_R7:  { value.Flt = lensing->fF_ApR7; break; } 
 
     case MEAS_E_BV:             { value.Flt = starpar->Ebv;      break; }
Index: trunk/Ohana/src/libdvo/src/dbFields.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38153)
@@ -61,4 +61,19 @@
     if (fields[i].ID == MEAS_E1_SH_PSF)  return TRUE;
     if (fields[i].ID == MEAS_E2_SH_PSF)  return TRUE;
+
+    if (fields[i].ID == MEAS_F_AP_R5)       return TRUE;
+    if (fields[i].ID == MEAS_F_ERR_AP_R5)   return TRUE;
+    if (fields[i].ID == MEAS_F_STDEV_AP_R5) return TRUE;
+    if (fields[i].ID == MEAS_F_FILL_AP_R5)  return TRUE;
+
+    if (fields[i].ID == MEAS_F_AP_R6)       return TRUE;
+    if (fields[i].ID == MEAS_F_ERR_AP_R6)   return TRUE;
+    if (fields[i].ID == MEAS_F_STDEV_AP_R6) return TRUE;
+    if (fields[i].ID == MEAS_F_FILL_AP_R6)  return TRUE;
+
+    if (fields[i].ID == MEAS_F_AP_R7)       return TRUE;
+    if (fields[i].ID == MEAS_F_ERR_AP_R7)   return TRUE;
+    if (fields[i].ID == MEAS_F_STDEV_AP_R7) return TRUE;
+    if (fields[i].ID == MEAS_F_FILL_AP_R7)  return TRUE;
   }
   return FALSE;
@@ -90,4 +105,22 @@
     if (fields[i].magOption == MAG_OPTION_E1_SH_PSF)  return TRUE;
     if (fields[i].magOption == MAG_OPTION_E2_SH_PSF)  return TRUE;
+
+    if (fields[i].magOption == MAG_OPTION_F_AP_R5)       return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_ERR_AP_R5)   return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_STDEV_AP_R5) return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_FILL_AP_R5)  return TRUE;
+
+    if (fields[i].magOption == MAG_OPTION_F_AP_R6)       return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_ERR_AP_R6)   return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_STDEV_AP_R6) return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_FILL_AP_R6)  return TRUE;
+
+    if (fields[i].magOption == MAG_OPTION_F_AP_R7)       return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_ERR_AP_R7)   return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_STDEV_AP_R7) return TRUE;
+    if (fields[i].magOption == MAG_OPTION_F_FILL_AP_R7)  return TRUE;
+
+    if (fields[i].magOption == MAG_OPTION_E1)            return TRUE;
+    if (fields[i].magOption == MAG_OPTION_E2)            return TRUE;
   }
   return FALSE;
@@ -199,12 +232,18 @@
   if (!strcasecmp (string, "E1_SH_PSF"))     return MAG_OPTION_E1_SH_PSF; 
   if (!strcasecmp (string, "E2_SH_PSF"))     return MAG_OPTION_E2_SH_PSF; 
-  // if (!strcasecmp (string, "F_AP_R5"))       return MAG_OPTION_F_AP_R5; 
-  // if (!strcasecmp (string, "F_ERR_AP_R5"))   return MAG_OPTION_F_ERR_AP_R5; 
-  // if (!strcasecmp (string, "F_STDEV_AP_R5")) return MAG_OPTION_F_STDEV_AP_R5; 
-  // if (!strcasecmp (string, "F_FILL_AP_R5"))  return MAG_OPTION_F_FILL_AP_R5; 
-  // if (!strcasecmp (string, "F_AP_R6"))       return MAG_OPTION_F_AP_R6; 
-  // if (!strcasecmp (string, "F_ERR_AP_R6"))   return MAG_OPTION_F_ERR_AP_R6; 
-  // if (!strcasecmp (string, "F_STDEV_AP_R6")) return MAG_OPTION_F_STDEV_AP_R6; 
-  // if (!strcasecmp (string, "F_FILL_AP_R6"))  return MAG_OPTION_F_FILL_AP_R6; 
+  if (!strcasecmp (string, "F_AP_R5"))       return MAG_OPTION_F_AP_R5; 
+  if (!strcasecmp (string, "F_ERR_AP_R5"))   return MAG_OPTION_F_ERR_AP_R5; 
+  if (!strcasecmp (string, "F_STDEV_AP_R5")) return MAG_OPTION_F_STDEV_AP_R5; 
+  if (!strcasecmp (string, "F_FILL_AP_R5"))  return MAG_OPTION_F_FILL_AP_R5; 
+  if (!strcasecmp (string, "F_AP_R6"))       return MAG_OPTION_F_AP_R6; 
+  if (!strcasecmp (string, "F_ERR_AP_R6"))   return MAG_OPTION_F_ERR_AP_R6; 
+  if (!strcasecmp (string, "F_STDEV_AP_R6")) return MAG_OPTION_F_STDEV_AP_R6; 
+  if (!strcasecmp (string, "F_FILL_AP_R6"))  return MAG_OPTION_F_FILL_AP_R6; 
+  if (!strcasecmp (string, "F_AP_R7"))       return MAG_OPTION_F_AP_R7; 
+  if (!strcasecmp (string, "F_ERR_AP_R7"))   return MAG_OPTION_F_ERR_AP_R7; 
+  if (!strcasecmp (string, "F_STDEV_AP_R7")) return MAG_OPTION_F_STDEV_AP_R7; 
+  if (!strcasecmp (string, "F_FILL_AP_R7"))  return MAG_OPTION_F_FILL_AP_R7; 
+  if (!strcasecmp (string, "E1"))            return MAG_OPTION_E1; 
+  if (!strcasecmp (string, "E2"))            return MAG_OPTION_E2; 
 
   return MAG_OPTION_NONE;
@@ -534,4 +573,17 @@
   if (!strcasecmp (fieldName, "E2_SH_PSF"))      ESCAPE (MEAS_E2_SH_PSF,  OPIHI_FLT);
 
+  if (!strcasecmp (fieldName, "F_AP_R5"))        ESCAPE (MEAS_F_AP_R5,       OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_ERR_AP_R5"))    ESCAPE (MEAS_F_ERR_AP_R5,   OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_STDEV_AP_R5"))  ESCAPE (MEAS_F_STDEV_AP_R5, OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_FILL_AP_R5"))   ESCAPE (MEAS_F_FILL_AP_R5,  OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_AP_R6"))        ESCAPE (MEAS_F_AP_R6,       OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_ERR_AP_R6"))    ESCAPE (MEAS_F_ERR_AP_R6,   OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_STDEV_AP_R6"))  ESCAPE (MEAS_F_STDEV_AP_R6, OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_FILL_AP_R6"))   ESCAPE (MEAS_F_FILL_AP_R6,  OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_AP_R7"))        ESCAPE (MEAS_F_AP_R7,       OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_ERR_AP_R7"))    ESCAPE (MEAS_F_ERR_AP_R7,   OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_STDEV_AP_R7"))  ESCAPE (MEAS_F_STDEV_AP_R7, OPIHI_FLT);
+  if (!strcasecmp (fieldName, "F_FILL_AP_R7"))   ESCAPE (MEAS_F_FILL_AP_R7,  OPIHI_FLT);
+
   if (!strcasecmp (fieldName, "E_BV"))             ESCAPE (MEAS_E_BV          ,   OPIHI_FLT);
   if (!strcasecmp (fieldName, "E_BV_ERR"))         ESCAPE (MEAS_E_BV_ERR      ,   OPIHI_FLT);
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 38153)
@@ -992,17 +992,19 @@
     assert (catalog[0].Nlensing_disk >= catalog[0].Nlensing_off);
 
-    // convert to external table format (note that the block above does not damage or free catalog.average) 
-    if (!LensingToFtable (&ftable, &catalog[0].lensing[first], Nrows, catalog[0].catformat)) {
-      fprintf (stderr, "trouble converting format\n");
-      goto failure;
-    }
-
-    // write out Lensing table
-    if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new)) {
-      fprintf (stderr, "trouble writing Lensing table\n");
-      goto failure;
-    }
-    gfits_free_header (&header);
-    gfits_free_table (&ftable);
+    if (catalog[0].Nlensing) {
+      // convert to external table format (note that the block above does not damage or free catalog.average) 
+      if (!LensingToFtable (&ftable, &catalog[0].lensing[first], Nrows, catalog[0].catformat)) {
+	fprintf (stderr, "trouble converting format\n");
+	goto failure;
+      }
+
+      // write out Lensing table
+      if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new)) {
+	fprintf (stderr, "trouble writing Lensing table\n");
+	goto failure;
+      }
+      gfits_free_header (&header);
+      gfits_free_table (&ftable);
+    }
   }
 
@@ -1019,17 +1021,19 @@
     assert (catalog[0].Nlensobj_disk >= catalog[0].Nlensobj_off);
 
-    // convert to external table format (note that the block above does not damage or free catalog.average) 
-    if (!LensobjToFtable (&ftable, &catalog[0].lensobj[first], Nrows, catalog[0].catformat)) {
-      fprintf (stderr, "trouble converting format\n");
-      goto failure;
-    }
-
-    // write out Lensobj table
-    if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {
-      fprintf (stderr, "trouble writing Lensobj table\n");
-      goto failure;
-    }
-    gfits_free_header (&header);
-    gfits_free_table (&ftable);
+    if (catalog[0].Nlensobj) {
+      // convert to external table format (note that the block above does not damage or free catalog.average) 
+      if (!LensobjToFtable (&ftable, &catalog[0].lensobj[first], Nrows, catalog[0].catformat)) {
+	fprintf (stderr, "trouble converting format\n");
+	goto failure;
+      }
+
+      // write out Lensobj table
+      if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {
+	fprintf (stderr, "trouble writing Lensobj table\n");
+	goto failure;
+      }
+      gfits_free_header (&header);
+      gfits_free_table (&ftable);
+    }
   }
 
@@ -1046,17 +1050,19 @@
     assert (catalog[0].Nstarpar_disk >= catalog[0].Nstarpar_off);
 
-    // convert to external table format (note that the block above does not damage or free catalog.average) 
-    if (!StarParToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) {
-      fprintf (stderr, "trouble converting format\n");
-      goto failure;
-    }
-
-    // write out StarPar table
-    if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) {
-      fprintf (stderr, "trouble writing StarPar table\n");
-      goto failure;
-    }
-    gfits_free_header (&header);
-    gfits_free_table (&ftable);
+    if (catalog[0].Nstarpar) {
+      // convert to external table format (note that the block above does not damage or free catalog.average) 
+      if (!StarParToFtable (&ftable, &catalog[0].starpar[first], Nrows, catalog[0].catformat)) {
+	fprintf (stderr, "trouble converting format\n");
+	goto failure;
+      }
+
+      // write out StarPar table
+      if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) {
+	fprintf (stderr, "trouble writing StarPar table\n");
+	goto failure;
+      }
+      gfits_free_header (&header);
+      gfits_free_table (&ftable);
+    }
   }
 
Index: trunk/Ohana/src/libdvo/src/dvo_convert.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 38153)
@@ -455,4 +455,23 @@
     return (lensing); }
 
+  if (!strcmp (extname, "DVO_LENSING_PS1_V5") && (ftable[0].header[0].Naxis[0] == 144)) {
+    Lensing_PS1_V5_R2 *tmpLensing;						
+    tmpLensing = gfits_table_get_Lensing_PS1_V5_R2 (ftable, Nlensing, NULL); 
+    if (!tmpLensing) {							
+      fprintf (stderr, "ERROR: failed to read lensings\n");		
+      exit (2);								
+    }									
+    lensing = Lensing_PS1_V5_R2_ToInternal (tmpLensing, *Nlensing); 
+    free (tmpLensing);							
+    *format = DVO_FORMAT_PS1_V5;					
+    return (lensing); }
+
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+  if (!strcmp (extname, NAME)) {					\
+    fprintf (stderr, "ERROR: format %s not defined for lensing, skipping\n", NAME); \
+    *Nlensing = 0; \
+    return NULL; \
+  }
+
 # define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
   if (!strcmp (extname, NAME)) {					\
@@ -468,11 +487,4 @@
     return (lensing); }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
-  if (!strcmp (extname, NAME)) {					\
-    fprintf (stderr, "ERROR: format %s not defined for lensing, skipping\n", NAME); \
-    *Nlensing = 0; \
-    return NULL; \
-  }
-
   if (!strcmp (extname, "DVO_LENSING")) {
     lensing = gfits_table_get_Lensing (ftable, Nlensing, NULL);
@@ -496,6 +508,8 @@
   SKIPPING_FORMAT ("DVO_LENSING_PS1_V3",          PS1_V3,          PS1_V3);
   SKIPPING_FORMAT ("DVO_LENSING_PS1_V4",          PS1_V4,          PS1_V4);
-  CONVERT_FORMAT  ("DVO_LENSING_PS1_V5",          PS1_V5,          PS1_V5_R2);
+  CONVERT_FORMAT  ("DVO_LENSING_PS1_V5",          PS1_V5,          PS1_V5_R3);
+  SKIPPING_FORMAT ("DVO_LENSING_PS1_SIM",         PS1_SIM,         PS1_SIM);
 # undef CONVERT_FORMAT
+# undef SKIPPING_FORMAT
 
   fprintf (stderr, "table format unknown: %s\n", extname);
@@ -533,5 +547,5 @@
 //    FORMAT_CASE (PS1_V3,          PS1_V3);
 //    FORMAT_CASE (PS1_V4,          PS1_V4);
-      FORMAT_CASE (PS1_V5,          PS1_V5_R2);
+      FORMAT_CASE (PS1_V5,          PS1_V5_R3);
 # undef FORMAT_CASE
 
@@ -554,4 +568,23 @@
     fprintf (stderr, "EXTNAME missing for lensobj table\n");
     return (FALSE);
+  }
+
+  if (!strcmp (extname, "DVO_LENSOBJ_PS1_V5") && (ftable[0].header[0].Naxis[0] == 136)) {
+    Lensobj_PS1_V5_R0 *tmpLensobj;						
+    tmpLensobj = gfits_table_get_Lensobj_PS1_V5_R0 (ftable, Nlensobj, NULL); 
+    if (!tmpLensobj) {							
+      fprintf (stderr, "ERROR: failed to read lensobjs\n");		
+      exit (2);								
+    }									
+    lensobj = Lensobj_PS1_V5_R0_ToInternal (tmpLensobj, *Nlensobj); 
+    free (tmpLensobj);							
+    *format = DVO_FORMAT_PS1_V5;					
+    return (lensobj); }
+
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+  if (!strcmp (extname, NAME)) {					\
+    fprintf (stderr, "ERROR: format %s not defined for lensobj, skipping\n", NAME); \
+    *Nlensobj = 0; \
+    return NULL; \
   }
 
@@ -579,17 +612,19 @@
   }
 
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_REF",         PS1_REF,         PS1_REF);
-// CONVERT_FORMAT ("DVO_LENSOBJ_ELIXIR", 	  ELIXIR,  	   Elixir);
-// CONVERT_FORMAT ("DVO_LENSOBJ_LONEOS", 	  LONEOS,          Loneos);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_V1",          PS1_V1,          PS1_V1);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_V2",          PS1_V2,          PS1_V2);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_V3",          PS1_V3,          PS1_V3);
-// CONVERT_FORMAT ("DVO_LENSOBJ_PS1_V4",          PS1_V4,          PS1_V4);
-  CONVERT_FORMAT ("DVO_LENSOBJ_PS1_V5",          PS1_V5,          PS1_V5);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_REF",         PS1_REF,         PS1_REF);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_ELIXIR", 	  ELIXIR,  	   Elixir);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_LONEOS", 	  LONEOS,          Loneos);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_V1",          PS1_V1,          PS1_V1);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_V2",          PS1_V2,          PS1_V2);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_V3",          PS1_V3,          PS1_V3);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_V4",          PS1_V4,          PS1_V4);
+  CONVERT_FORMAT  ("DVO_LENSOBJ_PS1_V5",          PS1_V5,          PS1_V5_R1);
+  SKIPPING_FORMAT ("DVO_LENSOBJ_PS1_SIM",         PS1_SIM,         PS1_SIM);
 # undef CONVERT_FORMAT
+# undef SKIPPING_FORMAT
 
   fprintf (stderr, "table format unknown: %s\n", extname);
@@ -627,5 +662,5 @@
 //    FORMAT_CASE (PS1_V3,          PS1_V3);
 //    FORMAT_CASE (PS1_V4,          PS1_V4);
-      FORMAT_CASE (PS1_V5,          PS1_V5);
+      FORMAT_CASE (PS1_V5,          PS1_V5_R1);
 # undef FORMAT_CASE
 
@@ -648,4 +683,11 @@
     fprintf (stderr, "EXTNAME missing for starpar table\n");
     return (FALSE);
+  }
+
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+  if (!strcmp (extname, NAME)) {					\
+    fprintf (stderr, "ERROR: format %s not defined for starpar, skipping\n", NAME); \
+    *Nstarpar = 0; \
+    return NULL; \
   }
 
@@ -673,20 +715,19 @@
   }
 
-   CONVERT_FORMAT ("DVO_STARPAR_PS1_SIM",         PS1_SIM,         PS1_SIM);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_REF",         PS1_REF,         PS1_REF);
-// CONVERT_FORMAT ("DVO_STARPAR_ELIXIR", 	  ELIXIR,  	   Elixir);
-// CONVERT_FORMAT ("DVO_STARPAR_LONEOS", 	  LONEOS,          Loneos);
-// CONVERT_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0);
-// CONVERT_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_V1",          PS1_V1,          PS1_V1);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_V2",          PS1_V2,          PS1_V2);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_V3",          PS1_V3,          PS1_V3);
-// CONVERT_FORMAT ("DVO_STARPAR_PS1_V4",          PS1_V4,          PS1_V4);
-  CONVERT_FORMAT ("DVO_STARPAR_PS1_V5",          PS1_V5,          PS1_V5);
-//  CONVERT_FORMAT ("DVO_STELLAR_PARAMS_PS1_V5",          PS1_V5,          PS1_V5);
-  // XXX fix in libauto: STELLAR_PARAMS to STARPAR
+  CONVERT_FORMAT  ("DVO_STARPAR_PS1_SIM",         PS1_SIM,         PS1_SIM);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_REF",         PS1_REF,         PS1_REF);
+  SKIPPING_FORMAT ("DVO_STARPAR_ELIXIR", 	  ELIXIR,  	   Elixir);
+  SKIPPING_FORMAT ("DVO_STARPAR_LONEOS", 	  LONEOS,          Loneos);
+  SKIPPING_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0);
+  SKIPPING_FORMAT ("DVO_STARPAR_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_V1",          PS1_V1,          PS1_V1);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_V2",          PS1_V2,          PS1_V2);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_V3",          PS1_V3,          PS1_V3);
+  SKIPPING_FORMAT ("DVO_STARPAR_PS1_V4",          PS1_V4,          PS1_V4);
+  CONVERT_FORMAT  ("DVO_STARPAR_PS1_V5",          PS1_V5,          PS1_V5);
 # undef CONVERT_FORMAT
+# undef SKIPPING_FORMAT
 
   fprintf (stderr, "table format unknown: %s\n", extname);
Index: trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c	(revision 38153)
@@ -448,5 +448,5 @@
 }
 
-Lensing *Lensing_PS1_V5_R2_ToInternal (Lensing_PS1_V5_R2 *in, off_t Nvalues) {
+Lensing *Lensing_PS1_V5_R0_ToInternal (Lensing_PS1_V5_R0 *in, off_t Nvalues) {
 
   off_t i;
@@ -481,7 +481,4 @@
     out[i].E1_sh_psf   = in[i].E1_sh_psf;
     out[i].E2_sh_psf   = in[i].E2_sh_psf;
-
-    out[i].E1_psf      = in[i].E1_psf;
-    out[i].E2_psf      = in[i].E2_psf;
 
     out[i].F_ApR5      = in[i].F_ApR5;
@@ -499,18 +496,17 @@
     out[i].catID       = in[i].catID;
     out[i].averef      = in[i].averef;
-
-    out[i].imageID     = in[i].imageID;
-  }
-  return (out);
-}
-
-Lensing_PS1_V5_R2 *LensingInternalTo_PS1_V5_R2 (Lensing *in, off_t Nvalues) {
-
-  off_t i;
-  Lensing_PS1_V5_R2 *out;
-
-  ALLOCATE_ZERO (out, Lensing_PS1_V5, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
+  }
+  return (out);
+}
+
+Lensing *Lensing_PS1_V5_R1_ToInternal (Lensing_PS1_V5_R1 *in, off_t Nvalues) {
+
+  off_t i;
+  Lensing *out;
+
+  ALLOCATE_ZERO (out, Lensing, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+    dvo_lensing_init (&out[i]);
 
     out[i].X11_sm_obj  = in[i].X11_sm_obj;      
@@ -537,7 +533,4 @@
     out[i].E1_sh_psf   = in[i].E1_sh_psf;
     out[i].E2_sh_psf   = in[i].E2_sh_psf;
-
-    out[i].E1_psf      = in[i].E1_psf;
-    out[i].E2_psf      = in[i].E2_psf;
 
     out[i].F_ApR5      = in[i].F_ApR5;
@@ -561,5 +554,185 @@
 }
 
-Lensobj *Lensobj_PS1_V5_ToInternal (Lensobj_PS1_V5 *in, off_t Nvalues) {
+Lensing *Lensing_PS1_V5_R2_ToInternal (Lensing_PS1_V5_R2 *in, off_t Nvalues) {
+
+  off_t i;
+  Lensing *out;
+
+  ALLOCATE_ZERO (out, Lensing, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+    dvo_lensing_init (&out[i]);
+
+    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
+    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
+    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
+    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
+    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
+	             	                 
+    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
+    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
+    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
+    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
+    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
+	             	                 
+    out[i].X11_sm_psf  = in[i].X11_sm_psf;
+    out[i].X12_sm_psf  = in[i].X12_sm_psf;
+    out[i].X22_sm_psf  = in[i].X22_sm_psf;
+    out[i].E1_sm_psf   = in[i].E1_sm_psf;
+    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
+	             	                 
+    out[i].X11_sh_psf  = in[i].X11_sh_psf;
+    out[i].X12_sh_psf  = in[i].X12_sh_psf;
+    out[i].X22_sh_psf  = in[i].X22_sh_psf;
+    out[i].E1_sh_psf   = in[i].E1_sh_psf;
+    out[i].E2_sh_psf   = in[i].E2_sh_psf;
+
+    out[i].E1_psf      = in[i].E1_psf;
+    out[i].E2_psf      = in[i].E2_psf;
+
+    out[i].F_ApR5      = in[i].F_ApR5;
+    out[i].dF_ApR5     = in[i].dF_ApR5;
+    out[i].sF_ApR5     = in[i].sF_ApR5;
+    out[i].fF_ApR5     = in[i].fF_ApR5;
+	               	            
+    out[i].F_ApR6      = in[i].F_ApR6;
+    out[i].dF_ApR6     = in[i].dF_ApR6;
+    out[i].sF_ApR6     = in[i].sF_ApR6;
+    out[i].fF_ApR6     = in[i].fF_ApR6;
+	          	            
+    out[i].detID       = in[i].detID;
+    out[i].objID       = in[i].objID;
+    out[i].catID       = in[i].catID;
+    out[i].averef      = in[i].averef;
+
+    out[i].imageID     = in[i].imageID;
+  }
+  return (out);
+}
+
+Lensing *Lensing_PS1_V5_R3_ToInternal (Lensing_PS1_V5_R3 *in, off_t Nvalues) {
+
+  off_t i;
+  Lensing *out;
+
+  ALLOCATE_ZERO (out, Lensing, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+    dvo_lensing_init (&out[i]);
+
+    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
+    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
+    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
+    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
+    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
+	             	                 
+    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
+    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
+    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
+    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
+    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
+	             	                 
+    out[i].X11_sm_psf  = in[i].X11_sm_psf;
+    out[i].X12_sm_psf  = in[i].X12_sm_psf;
+    out[i].X22_sm_psf  = in[i].X22_sm_psf;
+    out[i].E1_sm_psf   = in[i].E1_sm_psf;
+    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
+	             	                 
+    out[i].X11_sh_psf  = in[i].X11_sh_psf;
+    out[i].X12_sh_psf  = in[i].X12_sh_psf;
+    out[i].X22_sh_psf  = in[i].X22_sh_psf;
+    out[i].E1_sh_psf   = in[i].E1_sh_psf;
+    out[i].E2_sh_psf   = in[i].E2_sh_psf;
+
+    out[i].E1_psf      = in[i].E1_psf;
+    out[i].E2_psf      = in[i].E2_psf;
+
+    out[i].F_ApR5      = in[i].F_ApR5;
+    out[i].dF_ApR5     = in[i].dF_ApR5;
+    out[i].sF_ApR5     = in[i].sF_ApR5;
+    out[i].fF_ApR5     = in[i].fF_ApR5;
+	               	            
+    out[i].F_ApR6      = in[i].F_ApR6;
+    out[i].dF_ApR6     = in[i].dF_ApR6;
+    out[i].sF_ApR6     = in[i].sF_ApR6;
+    out[i].fF_ApR6     = in[i].fF_ApR6;
+	          	            
+    out[i].F_ApR7      = in[i].F_ApR7;
+    out[i].dF_ApR7     = in[i].dF_ApR7;
+    out[i].sF_ApR7     = in[i].sF_ApR7;
+    out[i].fF_ApR7     = in[i].fF_ApR7;
+	          	            
+    out[i].detID       = in[i].detID;
+    out[i].objID       = in[i].objID;
+    out[i].catID       = in[i].catID;
+    out[i].averef      = in[i].averef;
+
+    out[i].imageID     = in[i].imageID;
+  }
+  return (out);
+}
+
+Lensing_PS1_V5_R3 *LensingInternalTo_PS1_V5_R3 (Lensing *in, off_t Nvalues) {
+
+  off_t i;
+  Lensing_PS1_V5_R3 *out;
+
+  ALLOCATE_ZERO (out, Lensing_PS1_V5_R3, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+
+    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
+    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
+    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
+    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
+    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
+	             	                 
+    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
+    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
+    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
+    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
+    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
+	             	                 
+    out[i].X11_sm_psf  = in[i].X11_sm_psf;
+    out[i].X12_sm_psf  = in[i].X12_sm_psf;
+    out[i].X22_sm_psf  = in[i].X22_sm_psf;
+    out[i].E1_sm_psf   = in[i].E1_sm_psf;
+    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
+	             	                 
+    out[i].X11_sh_psf  = in[i].X11_sh_psf;
+    out[i].X12_sh_psf  = in[i].X12_sh_psf;
+    out[i].X22_sh_psf  = in[i].X22_sh_psf;
+    out[i].E1_sh_psf   = in[i].E1_sh_psf;
+    out[i].E2_sh_psf   = in[i].E2_sh_psf;
+
+    out[i].E1_psf      = in[i].E1_psf;
+    out[i].E2_psf      = in[i].E2_psf;
+
+    out[i].F_ApR5      = in[i].F_ApR5;
+    out[i].dF_ApR5     = in[i].dF_ApR5;
+    out[i].sF_ApR5     = in[i].sF_ApR5;
+    out[i].fF_ApR5     = in[i].fF_ApR5;
+	               	            
+    out[i].F_ApR6      = in[i].F_ApR6;
+    out[i].dF_ApR6     = in[i].dF_ApR6;
+    out[i].sF_ApR6     = in[i].sF_ApR6;
+    out[i].fF_ApR6     = in[i].fF_ApR6;
+	          	            
+    out[i].F_ApR7      = in[i].F_ApR7;
+    out[i].dF_ApR7     = in[i].dF_ApR7;
+    out[i].sF_ApR7     = in[i].sF_ApR7;
+    out[i].fF_ApR7     = in[i].fF_ApR7;
+	          	            
+    out[i].detID       = in[i].detID;
+    out[i].objID       = in[i].objID;
+    out[i].catID       = in[i].catID;
+    out[i].averef      = in[i].averef;
+
+    out[i].imageID     = in[i].imageID;
+  }
+  return (out);
+}
+
+Lensobj *Lensobj_PS1_V5_R0_ToInternal (Lensobj_PS1_V5_R0 *in, off_t Nvalues) {
 
   off_t i;
@@ -618,12 +791,13 @@
 }
 
-Lensobj_PS1_V5 *LensobjInternalTo_PS1_V5 (Lensobj *in, off_t Nvalues) {
-
-  off_t i;
-  Lensobj_PS1_V5 *out;
-
-  ALLOCATE_ZERO (out, Lensobj_PS1_V5, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
+Lensobj *Lensobj_PS1_V5_R1_ToInternal (Lensobj_PS1_V5_R1 *in, off_t Nvalues) {
+
+  off_t i;
+  Lensobj *out;
+
+  ALLOCATE_ZERO (out, Lensobj, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+    dvo_lensobj_init (&out[i], FALSE);
 
     out[i].X11_sm_obj  = in[i].X11_sm_obj;      
@@ -660,4 +834,70 @@
     out[i].sF_ApR6     = in[i].sF_ApR6;
     out[i].fF_ApR6     = in[i].fF_ApR6;
+	          	            
+    out[i].F_ApR7      = in[i].F_ApR7;
+    out[i].dF_ApR7     = in[i].dF_ApR7;
+    out[i].sF_ApR7     = in[i].sF_ApR7;
+    out[i].fF_ApR7     = in[i].fF_ApR7;
+	          	            
+    out[i].gamma       = in[i].gamma;
+    out[i].E1          = in[i].E1;
+    out[i].E2          = in[i].E2;
+
+    out[i].objID       = in[i].objID;
+    out[i].catID       = in[i].catID;
+
+    out[i].photcode    = in[i].photcode;
+    out[i].Nmeas       = in[i].Nmeas;
+  }
+  return (out);
+}
+
+Lensobj_PS1_V5_R1 *LensobjInternalTo_PS1_V5_R1 (Lensobj *in, off_t Nvalues) {
+
+  off_t i;
+  Lensobj_PS1_V5_R1 *out;
+
+  ALLOCATE_ZERO (out, Lensobj_PS1_V5_R1, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+
+    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
+    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
+    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
+    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
+    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
+	             	                 
+    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
+    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
+    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
+    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
+    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
+	             	                 
+    out[i].X11_sm_psf  = in[i].X11_sm_psf;
+    out[i].X12_sm_psf  = in[i].X12_sm_psf;
+    out[i].X22_sm_psf  = in[i].X22_sm_psf;
+    out[i].E1_sm_psf   = in[i].E1_sm_psf;
+    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
+	             	                 
+    out[i].X11_sh_psf  = in[i].X11_sh_psf;
+    out[i].X12_sh_psf  = in[i].X12_sh_psf;
+    out[i].X22_sh_psf  = in[i].X22_sh_psf;
+    out[i].E1_sh_psf   = in[i].E1_sh_psf;
+    out[i].E2_sh_psf   = in[i].E2_sh_psf;
+
+    out[i].F_ApR5      = in[i].F_ApR5;
+    out[i].dF_ApR5     = in[i].dF_ApR5;
+    out[i].sF_ApR5     = in[i].sF_ApR5;
+    out[i].fF_ApR5     = in[i].fF_ApR5;
+	               	            
+    out[i].F_ApR6      = in[i].F_ApR6;
+    out[i].dF_ApR6     = in[i].dF_ApR6;
+    out[i].sF_ApR6     = in[i].sF_ApR6;
+    out[i].fF_ApR6     = in[i].fF_ApR6;
+	          	            
+    out[i].F_ApR7      = in[i].F_ApR7;
+    out[i].dF_ApR7     = in[i].dF_ApR7;
+    out[i].sF_ApR7     = in[i].sF_ApR7;
+    out[i].fF_ApR7     = in[i].fF_ApR7;
 	          	            
     out[i].gamma       = in[i].gamma;
@@ -1271,110 +1511,4 @@
   }
   return (data);
-}
-
-Lensing *Lensing_PS1_V5_R0_ToInternal (Lensing_PS1_V5_R0 *in, off_t Nvalues) {
-
-  off_t i;
-  Lensing *out;
-
-  ALLOCATE_ZERO (out, Lensing, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
-    dvo_lensing_init (&out[i]);
-
-    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
-    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
-    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
-    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
-    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
-	             	                 
-    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
-    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
-    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
-    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
-    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
-	             	                 
-    out[i].X11_sm_psf  = in[i].X11_sm_psf;
-    out[i].X12_sm_psf  = in[i].X12_sm_psf;
-    out[i].X22_sm_psf  = in[i].X22_sm_psf;
-    out[i].E1_sm_psf   = in[i].E1_sm_psf;
-    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
-	             	                 
-    out[i].X11_sh_psf  = in[i].X11_sh_psf;
-    out[i].X12_sh_psf  = in[i].X12_sh_psf;
-    out[i].X22_sh_psf  = in[i].X22_sh_psf;
-    out[i].E1_sh_psf   = in[i].E1_sh_psf;
-    out[i].E2_sh_psf   = in[i].E2_sh_psf;
-
-    out[i].F_ApR5      = in[i].F_ApR5;
-    out[i].dF_ApR5     = in[i].dF_ApR5;
-    out[i].sF_ApR5     = in[i].sF_ApR5;
-    out[i].fF_ApR5     = in[i].fF_ApR5;
-	               	            
-    out[i].F_ApR6      = in[i].F_ApR6;
-    out[i].dF_ApR6     = in[i].dF_ApR6;
-    out[i].sF_ApR6     = in[i].sF_ApR6;
-    out[i].fF_ApR6     = in[i].fF_ApR6;
-	          	            
-    out[i].detID       = in[i].detID;
-    out[i].objID       = in[i].objID;
-    out[i].catID       = in[i].catID;
-    out[i].averef      = in[i].averef;
-  }
-  return (out);
-}
-
-Lensing *Lensing_PS1_V5_R1_ToInternal (Lensing_PS1_V5_R1 *in, off_t Nvalues) {
-
-  off_t i;
-  Lensing *out;
-
-  ALLOCATE_ZERO (out, Lensing, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
-    dvo_lensing_init (&out[i]);
-
-    out[i].X11_sm_obj  = in[i].X11_sm_obj;      
-    out[i].X12_sm_obj  = in[i].X12_sm_obj;      
-    out[i].X22_sm_obj  = in[i].X22_sm_obj;      
-    out[i].E1_sm_obj   = in[i].E1_sm_obj;      
-    out[i].E2_sm_obj   = in[i].E2_sm_obj;      
-	             	                 
-    out[i].X11_sh_obj  = in[i].X11_sh_obj;      
-    out[i].X12_sh_obj  = in[i].X12_sh_obj;      
-    out[i].X22_sh_obj  = in[i].X22_sh_obj;      
-    out[i].E1_sh_obj   = in[i].E1_sh_obj;      
-    out[i].E2_sh_obj   = in[i].E2_sh_obj;     
-	             	                 
-    out[i].X11_sm_psf  = in[i].X11_sm_psf;
-    out[i].X12_sm_psf  = in[i].X12_sm_psf;
-    out[i].X22_sm_psf  = in[i].X22_sm_psf;
-    out[i].E1_sm_psf   = in[i].E1_sm_psf;
-    out[i].E2_sm_psf   = in[i].E2_sm_psf;     
-	             	                 
-    out[i].X11_sh_psf  = in[i].X11_sh_psf;
-    out[i].X12_sh_psf  = in[i].X12_sh_psf;
-    out[i].X22_sh_psf  = in[i].X22_sh_psf;
-    out[i].E1_sh_psf   = in[i].E1_sh_psf;
-    out[i].E2_sh_psf   = in[i].E2_sh_psf;
-
-    out[i].F_ApR5      = in[i].F_ApR5;
-    out[i].dF_ApR5     = in[i].dF_ApR5;
-    out[i].sF_ApR5     = in[i].sF_ApR5;
-    out[i].fF_ApR5     = in[i].fF_ApR5;
-	               	            
-    out[i].F_ApR6      = in[i].F_ApR6;
-    out[i].dF_ApR6     = in[i].dF_ApR6;
-    out[i].sF_ApR6     = in[i].sF_ApR6;
-    out[i].fF_ApR6     = in[i].fF_ApR6;
-	          	            
-    out[i].detID       = in[i].detID;
-    out[i].objID       = in[i].objID;
-    out[i].catID       = in[i].catID;
-    out[i].averef      = in[i].averef;
-
-    out[i].imageID     = in[i].imageID;
-  }
-  return (out);
 }
 
Index: trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38062)
+++ trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38153)
@@ -1822,2 +1822,20 @@
 LENSFIELD(E1_sh_psf);
 LENSFIELD(E2_sh_psf);
+
+LENSFIELD( F_ApR5);
+LENSFIELD(dF_ApR5);
+LENSFIELD(sF_ApR5);
+LENSFIELD(fF_ApR5);
+
+LENSFIELD( F_ApR6);
+LENSFIELD(dF_ApR6);
+LENSFIELD(sF_ApR6);
+LENSFIELD(fF_ApR6);
+
+LENSFIELD( F_ApR7);
+LENSFIELD(dF_ApR7);
+LENSFIELD(sF_ApR7);
+LENSFIELD(fF_ApR7);
+
+LENSFIELD(E1);
+LENSFIELD(E2);
