Index: trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps.c
===================================================================
--- trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps.c	(revision 39563)
+++ trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps.c	(revision 39564)
@@ -52,5 +52,5 @@
     dvo_catalog_init (&catalog, TRUE);
     catalog.filename  = HOST_ID ? localFilename : skylist[0].filename[i];
-    catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_GALPHOT;
+    catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT | DVO_LOAD_GALPHOT;
 
     if (!dvo_catalog_open (&catalog, skylist[0].regions[i], VERBOSE, "r")) {
Index: trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps_catalog.c
===================================================================
--- trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps_catalog.c	(revision 39563)
+++ trunk/Ohana/src/dvopsps/src/insert_FGshape_dvopsps_catalog.c	(revision 39564)
@@ -13,5 +13,7 @@
 
   Average *average = catalog->average;
+  SecFilt *secfilt = catalog->secfilt;
   GalPhot *galphot = catalog->galphot;
+  int Nsecfilt = catalog->Nsecfilt;
 
   off_t found = 0;
@@ -28,4 +30,6 @@
   int Ninsert = 0;
 
+  int hasPS1_flag = ID_SECF_HAS_PS1 | ID_SECF_HAS_PS1_STACK;
+
   // NOTE for testing, just do a few objects
   if (!mysql) {
@@ -37,4 +41,10 @@
       missingID ++;
     }
+
+    int hasPS1 = FALSE;
+    for (int j = 0; !hasPS1 && (j < Nsecfilt); j++) {
+      if (secfilt[i*Nsecfilt + j].flags & hasPS1_flag) hasPS1 = TRUE;
+    }
+    if (!hasPS1) continue; // skip non-PS1 data
 
     off_t m = average[i].galphotOffset;
Index: trunk/Ohana/src/dvopsps/src/insert_FWobjects_dvopsps_catalog.c
===================================================================
--- trunk/Ohana/src/dvopsps/src/insert_FWobjects_dvopsps_catalog.c	(revision 39563)
+++ trunk/Ohana/src/dvopsps/src/insert_FWobjects_dvopsps_catalog.c	(revision 39564)
@@ -31,4 +31,6 @@
   int Ninsert = 0;
 
+  int hasPS1_flag = ID_SECF_HAS_PS1 | ID_SECF_HAS_PS1_STACK;
+
   // NOTE for testing, just do a few objects
   if (!mysql) {
@@ -40,4 +42,10 @@
       missingID ++;
     }
+
+    int hasPS1 = FALSE;
+    for (int j = 0; !hasPS1 && (j < Nsecfilt); j++) {
+      if (secfilt[i*Nsecfilt + j].flags & hasPS1_flag) hasPS1 = TRUE;
+    }
+    if (!hasPS1) continue; // skip non-PS1 data
 
     off_t m = average[i].lensobjOffset;
Index: trunk/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c
===================================================================
--- trunk/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 39563)
+++ trunk/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 39564)
@@ -28,4 +28,6 @@
   int Ninsert = 0;
 
+  int hasPS1_flag = ID_SECF_HAS_PS1 | ID_SECF_HAS_PS1_STACK;
+
   // NOTE for testing, just do a few objects
   if (!mysql) {
@@ -37,4 +39,10 @@
       missingID ++;
     }
+
+    int hasPS1 = FALSE;
+    for (int j = 0; !hasPS1 && (j < Nsecfilt); j++) {
+      if (secfilt[i*Nsecfilt + j].flags & hasPS1_flag) hasPS1 = TRUE;
+    }
+    if (!hasPS1) continue; // skip non-PS1 data
 
     // XXX check return status
