Index: /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39810)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39811)
@@ -376,4 +376,5 @@
 int    SKIP_CFH;
 
+int    UPDATE_PS1_STACK_MEASURE;
 int    UPDATE_PS1_CHIP_MEASURE;
 int    UPDATE_HSC_MEASURE;
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateMeasures.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateMeasures.c	(revision 39810)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateMeasures.c	(revision 39811)
@@ -115,4 +115,13 @@
 
       // only modify the chip coordinates
+      if (UPDATE_PS1_STACK_MEASURE && isGPC1stack (measureT->photcode)) {
+	measureT->R = R;
+	measureT->D = D;
+	if (measureB) {
+	  measureB->R = R;
+	  measureB->D = D;
+	}
+      }
+      // only modify the chip coordinates
       if (UPDATE_PS1_CHIP_MEASURE && isGPC1chip (measureT->photcode)) {
 	measureT->R = R;
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateObjectOffsets.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 39810)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 39811)
@@ -208,4 +208,5 @@
     if (CHECK_MEASURE_TO_IMAGE) strextend (&command, "-check-measures");
 
+    if (UPDATE_PS1_STACK_MEASURE) strextend (&command, "-update-ps1-stack");
     if (UPDATE_PS1_CHIP_MEASURE) strextend (&command, "-update-ps1-chip");
     if (UPDATE_HSC_MEASURE)    	 strextend (&command, "-update-hsc");
@@ -346,4 +347,5 @@
     if (CHECK_MEASURE_TO_IMAGE) strextend (&command, "-check-measures");
 
+    if (UPDATE_PS1_STACK_MEASURE) strextend (&command, "-update-ps1-stack");
     if (UPDATE_PS1_CHIP_MEASURE) strextend (&command, "-update-ps1-chip");
     if (UPDATE_HSC_MEASURE)    	 strextend (&command, "-update-hsc");
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39810)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39811)
@@ -158,4 +158,9 @@
   }
 
+  UPDATE_PS1_STACK_MEASURE = FALSE;
+  if ((N = get_argument (argc, argv, "-update-ps1-stack"))) {
+    remove_argument (N, &argc, argv);
+    UPDATE_PS1_STACK_MEASURE = TRUE;
+  }
   UPDATE_PS1_CHIP_MEASURE = FALSE;
   if ((N = get_argument (argc, argv, "-update-ps1-chip"))) {
@@ -174,12 +179,12 @@
   }
   if (RELASTRO_OP == OP_UPDATE_OFFSETS) {
-    if (!UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
-      fprintf (stderr, "for -update-offsets, need to select at least one of -update-ps1-chip, -update-hsc, -update-cfh\n");
+    if (!UPDATE_PS1_STACK_MEASURE && !UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
+      fprintf (stderr, "for -update-offsets, need to select at least one of -update-ps1-stack, -update-ps1-chip, -update-hsc, -update-cfh\n");
       exit (2);
     }
   }
   if ((RELASTRO_OP == OP_PARALLEL_IMAGES) || (RELASTRO_OP == OP_IMAGES)) {
-    if (APPLY_OFFSETS && !UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
-      fprintf (stderr, "for [-images or -parallel-images] with -apply-offsets, need to select at least one of -update-ps1-chip, -update-hsc, -update-cfh\n");
+    if (APPLY_OFFSETS && !UPDATE_PS1_STACK_MEASURE && !UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
+      fprintf (stderr, "for [-images or -parallel-images] with -apply-offsets, need to select at least one of -update-ps1-stack, -update-ps1-chip, -update-hsc, -update-cfh\n");
       exit (2);
     }
@@ -879,4 +884,9 @@
   }
 
+  UPDATE_PS1_STACK_MEASURE = FALSE;
+  if ((N = get_argument (argc, argv, "-update-ps1-stack"))) {
+    remove_argument (N, &argc, argv);
+    UPDATE_PS1_STACK_MEASURE = TRUE;
+  }
   UPDATE_PS1_CHIP_MEASURE = FALSE;
   if ((N = get_argument (argc, argv, "-update-ps1-chip"))) {
@@ -895,6 +905,6 @@
   }
   if (RELASTRO_OP == OP_UPDATE_OFFSETS) {
-    if (!UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
-      fprintf (stderr, "for -update-offsets, need to select at least one of -update-ps1-chip, -update-hsc, -update-cfh\n");
+    if (!UPDATE_PS1_STACK_MEASURE && !UPDATE_PS1_CHIP_MEASURE && !UPDATE_HSC_MEASURE && !UPDATE_CFH_MEASURE) {
+      fprintf (stderr, "for -update-offsets, need to select at least one of -update-ps1-stack, -update-ps1-chip, -update-hsc, -update-cfh\n");
       exit (2);
     }
