Index: branches/czw_branch/20120906/ppStack/src/ppStackCombineFinal.c
===================================================================
--- branches/czw_branch/20120906/ppStack/src/ppStackCombineFinal.c	(revision 34516)
+++ branches/czw_branch/20120906/ppStack/src/ppStackCombineFinal.c	(revision 34531)
@@ -15,5 +15,4 @@
   
   psArray *inputs  = psArrayAlloc(options->num);
-  //  const psArray *cells = options->cells;
   for (int i = 0; i < options->num; i++) {
     ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, true, i);
@@ -23,5 +22,4 @@
     inputs->data[i] = ro;
     pmFPAfileClose(file,view);
-    ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, false, i);
   }
   if (!pmStackSimpleMedianCombine(bkgRO,inputs)) {
@@ -29,15 +27,30 @@
     return(false);
   }
-/*   for (int i = 0; i < options->num; i++) { */
-/*     //    ppStackFilesIterateUp(config); */
-/* /\*     pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", i); *\/ */
-/* /\*     pmFPAview *view = ppStackFilesIterateDown(config); *\/ */
-/*     pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", i); */
-    
-/*     ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, false, i); */
-/*   }   */
+  if (!ppStackWriteImage("/tmp/test_forced.bkgmdl.fits",
+			 bkgRO->parent->parent->parent->hdu->header,
+			 bkgRO->image,
+			 config)) {
+    fprintf(stderr,"Failed to write image because fail.\n");
+  }
+  
+  for (int i = 0; i < options->num; i++) {
+    pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", i);
+    pmFPAview *view = ppStackFilesIterateDown(config);
+    bool success = pmFPAfileClose(file,view);
+    if (!success) {
+      psTrace("ppStack",5,"I failed at closing a file.\n");
+    }
+	      
+    psFitsClose(file->fits);
+    file->fits = NULL;
+    file->header = NULL;
+    file->state = PM_FPA_STATE_CLOSED;
+    file->wrote_phu = false;
+    ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, false, i);
+  }
   psFree(inputs);
-  //  psFree(stack->bkgFits);
   bkgRO->data_exists = true;
+  bkgRO->parent->data_exists = true;
+  bkgRO->parent->parent->data_exists = true;
   return(true);
 }
Index: branches/czw_branch/20120906/ppStack/src/ppStackCombinePrepare.c
===================================================================
--- branches/czw_branch/20120906/ppStack/src/ppStackCombinePrepare.c	(revision 34516)
+++ branches/czw_branch/20120906/ppStack/src/ppStackCombinePrepare.c	(revision 34531)
@@ -31,7 +31,33 @@
 
     pmCell *bkgCell;
+    int bkg_r0,bkg_c0;
+    int bkg_nC,bkg_nR;
     if (bkgName) {
+      ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, true, 0);
+      pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", 0);
+      pmFPAview *view = ppStackFilesIterateDown(config);
+      pmReadout *ro = pmFPAviewThisReadout(view,file->fpa);
+
+      bkg_r0 = ro->image->row0;
+      bkg_c0 = ro->image->col0;
+      bkg_nC = ro->image->numCols;
+      bkg_nR = ro->image->numRows;
       bkgCell = pmFPAfileThisCell(config->files, view, bkgName); // Bkg cell
+      
       options->bkgRO = pmReadoutAlloc(bkgCell); // BKG readout
+      //      if (!pmHDUGenerateForFPA(options->bkgRO->parent->parent->parent)) {
+      options->bkgRO->parent->parent->parent->hdu = pmHDUAlloc(NULL);
+      if (!options->bkgRO->parent->parent->parent->hdu) {
+	fprintf(stderr,"failed to generate a HDU for this thing.\n");
+      }
+      options->bkgRO->parent->parent->parent->hdu->header = psMetadataCopy(options->bkgRO->parent->parent->parent->hdu->header,
+									   ro->parent->parent->parent->hdu->header);
+
+      options->bkgRO->parent->concepts = psMetadataCopy(options->bkgRO->parent->concepts,
+							ro->parent->concepts);
+      options->bkgRO->parent->parent->concepts = psMetadataCopy(options->bkgRO->parent->parent->concepts,
+								ro->parent->parent->concepts);
+      options->bkgRO->parent->parent->parent->concepts = psMetadataCopy(options->bkgRO->parent->parent->parent->concepts,
+									ro->parent->parent->parent->concepts);
     }
 
@@ -54,5 +80,5 @@
 
     if (bkgName) {
-      if (!pmReadoutStackDefineOutput(options->bkgRO, col0, row0, numCols, numRows, false, false, 0)) {
+      if (!pmReadoutStackDefineOutput(options->bkgRO, bkg_c0, bkg_r0, bkg_nC, bkg_nR, false, false, 0)) {
         psError(PPSTACK_ERR_ARGUMENTS, false, "Unable to prepare output.");
         return false;
Index: branches/czw_branch/20120906/ppStack/src/ppStackFiles.c
===================================================================
--- branches/czw_branch/20120906/ppStack/src/ppStackFiles.c	(revision 34516)
+++ branches/czw_branch/20120906/ppStack/src/ppStackFiles.c	(revision 34531)
@@ -92,5 +92,4 @@
     for (int i = 0; files[i] != NULL; i++) {
         pmFPAfileActivate(config->files, state, files[i]);
-	fprintf(stderr,"ACTIVE: %d %s %d\n",i,files[i],state);
     }
     return;
