Index: branches/czw_branch/20160809/Ohana/src/photdbc/src/make_subcatalog.c
===================================================================
--- branches/czw_branch/20160809/Ohana/src/photdbc/src/make_subcatalog.c	(revision 39725)
+++ branches/czw_branch/20160809/Ohana/src/photdbc/src/make_subcatalog.c	(revision 39726)
@@ -7,5 +7,5 @@
   int found;
   off_t i, j, k, offset;
-  off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm, Nsecfilt;
+  off_t Nm, Nsecfilt;
   double mag, minMag, minSigma;
   int keep, *secKeep;
@@ -27,10 +27,18 @@
 
   /* we are moving only the subset of measurements from catalog[0] to subcatalog[0] */
-  NAVERAGE = 50;
-  NMEASURE = 1000;
-  Nmeasure = Naverage = 0;
+  off_t NAVERAGE = 50;   off_t Naverage = 0;
+  off_t NMEASURE = 1000; off_t Nmeasure = 0;
+  off_t NLENSING = 1000; off_t Nlensing = 0;
+  off_t NLENSOBJ = 1000; off_t Nlensobj = 0;
+  off_t NSTARPAR = 1000; off_t Nstarpar = 0;
+  off_t NGALPHOT = 1000; off_t Ngalphot = 0;
+
   REALLOCATE (subcatalog[0].average, Average, NAVERAGE);
   REALLOCATE (subcatalog[0].secfilt, SecFilt, NAVERAGE*Nsecfilt);
   REALLOCATE (subcatalog[0].measure, Measure, NMEASURE);
+  REALLOCATE (subcatalog[0].lensing, Lensing, NLENSING);
+  REALLOCATE (subcatalog[0].lensobj, Lensobj, NLENSOBJ);
+  REALLOCATE (subcatalog[0].starpar, StarPar, NSTARPAR);
+  REALLOCATE (subcatalog[0].galphot, GalPhot, NGALPHOT);
 
   for (i = 0; i < catalog[0].Naverage; i++) {
@@ -39,5 +47,5 @@
     // XXX: temporary check make sure that this object belongs in this region
     // used to fix the pole area in the reference catalog
-    {
+    if (0) {
         double R = catalog[0].average[i].R;
         double D = catalog[0].average[i].D;
@@ -177,4 +185,80 @@
     subcatalog[0].average[Naverage].Nmissing = 0;
     subcatalog[0].average[Naverage].Nmeasure = Nm;
+
+    // **** lensing
+    Nm = 0;
+    subcatalog[0].average[Naverage].lensingOffset = Nlensing;
+    for (j = 0; j < catalog[0].average[i].Nlensing; j++) {
+
+      offset = catalog[0].average[i].lensingOffset + j;
+
+      subcatalog[0].lensing[Nlensing]        = catalog[0].lensing[offset];
+      subcatalog[0].lensing[Nlensing].averef = Naverage;
+
+      Nlensing ++;
+      Nm ++;
+      if (Nlensing == NLENSING) {
+	NLENSING += 1000;
+	REALLOCATE (subcatalog[0].lensing, Lensing, NLENSING);
+      }
+    }
+    subcatalog[0].average[Naverage].Nlensing = Nm;
+
+    // **** lensobj
+    Nm = 0;
+    subcatalog[0].average[Naverage].lensobjOffset = Nlensobj;
+    for (j = 0; j < catalog[0].average[i].Nlensobj; j++) {
+
+      offset = catalog[0].average[i].lensobjOffset + j;
+
+      subcatalog[0].lensobj[Nlensobj]        = catalog[0].lensobj[offset];
+
+      Nlensobj ++;
+      Nm ++;
+      if (Nlensobj == NLENSOBJ) {
+	NLENSOBJ += 1000;
+	REALLOCATE (subcatalog[0].lensobj, Lensobj, NLENSOBJ);
+      }
+    }
+    subcatalog[0].average[Naverage].Nlensobj = Nm;
+
+    // **** starpar
+    Nm = 0;
+    subcatalog[0].average[Naverage].starparOffset = Nstarpar;
+    for (j = 0; j < catalog[0].average[i].Nstarpar; j++) {
+
+      offset = catalog[0].average[i].starparOffset + j;
+
+      subcatalog[0].starpar[Nstarpar]        = catalog[0].starpar[offset];
+      subcatalog[0].starpar[Nstarpar].averef = Naverage;
+
+      Nstarpar ++;
+      Nm ++;
+      if (Nstarpar == NSTARPAR) {
+	NSTARPAR += 1000;
+	REALLOCATE (subcatalog[0].starpar, StarPar, NSTARPAR);
+      }
+    }
+    subcatalog[0].average[Naverage].Nstarpar = Nm;
+
+    // **** galphot
+    Nm = 0;
+    subcatalog[0].average[Naverage].galphotOffset = Ngalphot;
+    for (j = 0; j < catalog[0].average[i].Ngalphot; j++) {
+
+      offset = catalog[0].average[i].galphotOffset + j;
+
+      subcatalog[0].galphot[Ngalphot]        = catalog[0].galphot[offset];
+      subcatalog[0].galphot[Ngalphot].averef = Naverage;
+
+      Ngalphot ++;
+      Nm ++;
+      if (Ngalphot == NGALPHOT) {
+	NGALPHOT += 1000;
+	REALLOCATE (subcatalog[0].galphot, GalPhot, NGALPHOT);
+      }
+    }
+    subcatalog[0].average[Naverage].Ngalphot = Nm;
+
     Naverage ++;
     if (Naverage == NAVERAGE) {
@@ -187,7 +271,17 @@
   REALLOCATE (subcatalog[0].measure, Measure, MAX (Nmeasure, 1));
   REALLOCATE (subcatalog[0].secfilt, SecFilt, Nsecfilt*MAX (Naverage, 1));
+  REALLOCATE (subcatalog[0].lensing, Lensing, MAX (Nlensing, 1));
+  REALLOCATE (subcatalog[0].lensobj, Lensobj, MAX (Nlensobj, 1));
+  REALLOCATE (subcatalog[0].starpar, StarPar, MAX (Nstarpar, 1));
+  REALLOCATE (subcatalog[0].galphot, GalPhot, MAX (Ngalphot, 1));
+
   subcatalog[0].Naverage = Naverage;
   subcatalog[0].Nmeasure = Nmeasure;
   subcatalog[0].Nsecfilt = Nsecfilt;
+  subcatalog[0].Nlensing = Nlensing;
+  subcatalog[0].Nlensobj = Nlensobj;
+  subcatalog[0].Nstarpar = Nstarpar;
+  subcatalog[0].Ngalphot = Ngalphot;
+
   subcatalog[0].Nsecfilt_mem = Naverage * Nsecfilt;
 
Index: branches/czw_branch/20160809/Ohana/src/photdbc/src/photdbc_catalogs.c
===================================================================
--- branches/czw_branch/20160809/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 39725)
+++ branches/czw_branch/20160809/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 39726)
@@ -26,5 +26,9 @@
     incatalog.filename  = hostID ? hostfile : skylist[0].filename[i];
     incatalog.Nsecfilt = GetPhotcodeNsecfilt ();
-    incatalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_SECFILT;
+
+    incatalog.catflags    = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT;
+    incatalog.catflags   |= DVO_LOAD_MEASURE | DVO_LOAD_MISSING;
+    incatalog.catflags   |= DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ;
+    incatalog.catflags   |= DVO_LOAD_STARPAR | DVO_LOAD_GALPHOT;
 
     // an error exit status here is a significant error
