Index: trunk/ippToPsps/config/stack/map.xml
===================================================================
--- trunk/ippToPsps/config/stack/map.xml	(revision 29318)
+++ trunk/ippToPsps/config/stack/map.xml	(revision 29319)
@@ -4,8 +4,8 @@
   <table name="StackMeta" ippfitsextension="Primary">
     <!--  <map pspsName="stackMetaID" ippType="TLONGLONG" ippName="" comment="stack identifier"/> -->
-    <!--  <map pspsName="skycellID" ippType="TLONG" ippName="" comment="skycell region identifier"/> -->
-    <!--  <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
+    <!--  *** DONE IN CODE <map pspsName="skycellID" ippType="TLONG" ippName="" comment="skycell region identifier"/> -->
+    <!--  *** DONE IN CODE <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
     <!--  <map pspsName="photoCalID" ippType="TLONG" ippName="" comment="photometry code numerical id"/> -->
-    <!--  DONE IN CODE<map pspsName="filterID" ippType="TBYTE" ippName="" comment="filter identifier"/> -->
+    <!--  *** DONE IN CODE <map pspsName="filterID" ippType="TBYTE" ippName="" comment="filter identifier"/> -->
     <!--  <map pspsName="stackTypeID" ippType="TBYTE" ippName="" comment="stack type identifier"/> -->
     <!--  <map pspsName="refImageID" ippType="TLONGLONG" ippName="" comment="identifier of image used as reference for analysis"/> -->
@@ -62,11 +62,11 @@
     <!--  <map pspsName="stackDetectID" ippType="TLONGLONG" ippName="" comment="ODM detection identifier"/> -->
     <!--  <map pspsName="ippObjID" ippType="TLONGLONG" ippName="" comment="IPP object identifier"/> -->
-    <!--  <map pspsName="ippDetectID" ippType="TLONGLONG" ippName="" comment="detection ID generated by IPP"/> -->
+          <map pspsName="ippDetectID" ippType="TLONGLONG" ippName="IPP_IDET" comment="detection ID generated by IPP"/> 
     <!--  <map pspsName="filterID" ippType="TBYTE" ippName="" comment="filter identifier"/> -->
     <!--  <map pspsName="stackTypeID" ippType="TBYTE" ippName="" comment="stack type identifier"/> -->
-    <!--  <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
+    <!--   *** DONE IN CODE <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
     <!--  <map pspsName="primaryF" ippType="TBYTE" ippName="" comment="identifies best stack detection for Stacks overlapping the same region of the sky."/> -->
     <!--  <map pspsName="stackMetaID" ippType="TLONGLONG" ippName="" comment="stack identifier"/> -->
-    <!--  <map pspsName="skyCellID" ippType="TLONG" ippName="" comment="skycell identifier"/> -->
+    <!--  *** DONE IN CODE <map pspsName="skyCellID" ippType="TLONG" ippName="" comment="skycell identifier"/> -->
     <!--  <map pspsName="projectionCellID" ippType="TLONG" ippName="" comment="projection cell identifier"/> -->
     <!--  <map pspsName="stackVer" ippType="TSHORT" ippName="" comment="version number of this stack"/> -->
@@ -109,8 +109,8 @@
     <!--  <map pspsName="stackDetectID" ippType="TLONGLONG" ippName="" comment="ODM detection identifier"/> -->
     <!--  <map pspsName="ippObjID" ippType="TLONGLONG" ippName="" comment="IPP object identifier"/> -->
-    <!--  <map pspsName="ippDetectID" ippType="TLONGLONG" ippName="" comment="detection ID generated by IPP"/> -->
+          <map pspsName="ippDetectID" ippType="TLONGLONG" ippName="IPP_IDET" comment="detection ID generated by IPP"/>
     <!--  <map pspsName="filterID" ippType="TBYTE" ippName="" comment="filter identifier"/> -->
     <!--  <map pspsName="stackTypeID" ippType="TBYTE" ippName="" comment="stack type identifier"/> -->
-    <!--  <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
+    <!--   *** DONE IN CODE <map pspsName="surveyID" ippType="TBYTE" ippName="" comment="survey flag identifier"/> -->
     <!--  <map pspsName="primaryF" ippType="TBYTE" ippName="" comment="identifies best stack detection for Stacks overlapping the same region of the sky."/> -->
     <!--  <map pspsName="stackMetaID" ippType="TLONGLONG" ippName="" comment="stack identifier"/> -->
@@ -126,12 +126,12 @@
     <!--  <map pspsName="isophotPAErr" ippType="TFLOAT" ippName="" comment="estimated error in isophotal position angle"/> -->
     <!--  <map pspsName="isophotPAGrad" ippType="TFLOAT" ippName="" comment="isophotal position angle gradient"/> -->
-    <!--  <map pspsName="petRadius" ippType="TFLOAT" ippName="" comment="Petrosian radius"/> -->
-    <!--  <map pspsName="petRadiusErr" ippType="TFLOAT" ippName="" comment="estimated error inPetrosian radius"/> -->
-    <!--  <map pspsName="petMag" ippType="TFLOAT" ippName="" comment="Petrosian magntiude"/> -->
-    <!--  <map pspsName="petMagErr" ippType="TFLOAT" ippName="" comment="estimated error in petMag"/> -->
-    <!--  <map pspsName="petR50" ippType="TFLOAT" ippName="" comment="Petrosian radius at 50% light"/> -->
-    <!--  <map pspsName="petR50Err" ippType="TFLOAT" ippName="" comment="estimated error inPetrosian radius at 50% light"/> -->
-    <!--  <map pspsName="petR90" ippType="TFLOAT" ippName="" comment="Petrosian radius at 90% light"/> -->
-    <!--  <map pspsName="petR90Err" ippType="TFLOAT" ippName="" comment="estimated error in Petrosian radius at 90% light"/> -->
+          <map pspsName="petRadius" ippType="TFLOAT" ippName="PETRO_RADIUS" comment="Petrosian radius"/>
+          <map pspsName="petRadiusErr" ippType="TFLOAT" ippName="PETRO_RADIUS_ERR" comment="estimated error inPetrosian radius"/> 
+          <map pspsName="petMag" ippType="TFLOAT" ippName="PETRO_MAG" comment="Petrosian magntiude"/>
+          <map pspsName="petMagErr" ippType="TFLOAT" ippName="PETRO_MAG_ERR" comment="estimated error in petMag"/>
+          <map pspsName="petR50" ippType="TFLOAT" ippName="PETRO_RADIUS_50" comment="Petrosian radius at 50% light"/> 
+          <map pspsName="petR50Err" ippType="TFLOAT" ippName="PETRO_RADIUS_50" comment="estimated error inPetrosian radius at 50% light"/> 
+          <map pspsName="petR90" ippType="TFLOAT" ippName="PETRO_RADIUS_90" comment="Petrosian radius at 90% light"/>
+          <map pspsName="petR90Err" ippType="TFLOAT" ippName="PETRO_RADIUS_90_ERR" comment="estimated error in Petrosian radius at 90% light"/>
     <!--  <map pspsName="petCf" ippType="TFLOAT" ippName="" comment="Petrosian fit coverage factor"/> -->
     <!--  <map pspsName="flxR1" ippType="TFLOAT" ippName="" comment="Flux inside r = 1"/> -->
Index: trunk/ippToPsps/src/ippToPspsBatchStack.c
===================================================================
--- trunk/ippToPsps/src/ippToPspsBatchStack.c	(revision 29318)
+++ trunk/ippToPsps/src/ippToPspsBatchStack.c	(revision 29319)
@@ -16,5 +16,4 @@
  */
 int ippToPsps_batchStack(IppToPsps *this) {
-
 
     int status = 0;
@@ -39,10 +38,19 @@
 
 
+    char** assocDate = (char**)calloc(MAXDETECT, sizeof(char**));
+    for (uint32_t i=0; i<MAXDETECT;i++) assocDate[i] = (char*)calloc(20,sizeof(char));
+    int8_t filterIDs[MAXDETECT], surveyIDs[MAXDETECT];
+
+
     // write StackMeta
     ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, 1, "StackMeta", true);
+    fits_write_col(this->fitsOut, TLONG, STACKMETA_SKYCELLID, 1, 1, 1, &this->id, &status);
 
     int8_t filterID = -1;
     if (!ippToPspsConfig_getFilterId(this->config, filterType, &filterID)) {return PS_EXIT_DATA_ERROR;}
     fits_write_col(this->fitsOut, TBYTE, STACKMETA_FILTERID, 1, 1, 1, &filterID, &status);
+
+    fits_write_col(this->fitsOut, TBYTE, STACKMETA_SURVEYID, 1, 1, 1, &this->surveyID, &status);
+
 
     // psf detections
@@ -54,5 +62,14 @@
     }
     else {
-    
+   
+        // some stuff is the same for all detections so we can populate here
+        for (long s = 0; s<MAXDETECT; s++) {
+
+            filterIDs[s] = filterID;
+            surveyIDs[s] = this->surveyID;
+            strcpy(assocDate[s], this->todaysDate);
+        }
+
+
         long nDet = 0;
         if (fits_get_num_rows(fitsIn, &nDet, &status)) {
@@ -96,4 +113,9 @@
 
             ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, nDet, "StackDetection", false);
+            fits_write_col(this->fitsOut, TLONG, STACKDETECTION_SKYCELLID, 1, 1, 1, &this->id, &status);
+            fits_write_col(this->fitsOut, TBYTE, STACKDETECTION_FILTERID, 1, 1, nDet, filterIDs, &status);
+            fits_write_col(this->fitsOut, TBYTE, STACKDETECTION_SURVEYID, 1, 1, nDet, surveyIDs, &status);
+            fits_write_col(this->fitsOut, TSTRING, STACKDETECTION_ASSOCDATE, 1, 1, nDet, assocDate, &status);
+
             if (numInvalidFlux) fits_delete_rowlist(this->fitsOut, removeList, numInvalidFlux, &status);
 
@@ -129,7 +151,7 @@
         }
 
-
-
         ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, nDet, "StackApFlx", false);
+        fits_write_col(this->fitsOut, TBYTE, STACKAPFLX_FILTERID, 1, 1, nDet, filterIDs, &status);
+        fits_write_col(this->fitsOut, TBYTE, STACKAPFLX_SURVEYID, 1, 1, nDet, surveyIDs, &status);
     }
 
