Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/Makefile
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/Makefile	(revision 32861)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/Makefile	(revision 32862)
@@ -33,6 +33,6 @@
 $(SRC)/fixcols.$(ARCH).o	   \
 $(SRC)/gauss.$(ARCH).o		   \
-$(SRC)/getvel.$(ARCH).o	   \
-$(SRC)/getlst.$(ARCH).o	   \
+$(SRC)/getvel.$(ARCH).o	           \
+$(SRC)/getlst.$(ARCH).o	           \
 $(SRC)/medianmap.$(ARCH).o	   \
 $(SRC)/mkgauss.$(ARCH).o	   \
@@ -51,12 +51,13 @@
 $(SRC)/precess.$(ARCH).o	   \
 $(SRC)/profile.$(ARCH).o	   \
-$(SRC)/radec.$(ARCH).o	   \
-$(SRC)/region.$(ARCH).o	   \
+$(SRC)/radec.$(ARCH).o	           \
+$(SRC)/region.$(ARCH).o	           \
 $(SRC)/rotcurve.$(ARCH).o	   \
 $(SRC)/scale.$(ARCH).o		   \
 $(SRC)/sexigesimal.$(ARCH).o	   \
 $(SRC)/spec.$(ARCH).o		   \
+$(SRC)/specpairfit.$(ARCH).o	   \
 $(SRC)/star.$(ARCH).o		   \
-$(SRC)/transform.$(ARCH).o        \
+$(SRC)/transform.$(ARCH).o         \
 $(SRC)/imsub.$(ARCH).o		   \
 $(SRC)/imfit.$(ARCH).o		   \
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/init.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/init.c	(revision 32861)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/init.c	(revision 32862)
@@ -45,4 +45,5 @@
 int sexigesimal             PROTO((int, char **));
 int spec                    PROTO((int, char **));
+int specpairfit             PROTO((int, char **));
 int star                    PROTO((int, char **));
 int times                   PROTO((int, char **));
@@ -93,4 +94,5 @@
   {1, "sexigesimal", sexigesimal,  "convert to/from sexigesimal/decimal"},
   {1, "spec",        spec,         "extract a spectrum"},
+  {1, "specpairfit", specpairfit,  "fit spectrum to another spectrum"},
   {1, "star",        star,         "star stats at rough coords"},
   {1, "transform",   transform,    "geometric transformation of image"},
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/specpairfit.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/specpairfit.c	(revision 32861)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.astro/specpairfit.c	(revision 32862)
@@ -3,7 +3,8 @@
 int specpairfit (int argc, char **argv) {
   
+  int i;
   Vector *flux1, *flux2, *dflux1, *dflux2, *window;
 
-  if (argc != 2) goto usage;
+  if (argc != 7) goto usage;
 
   if ((flux1  = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) goto escape;
@@ -13,5 +14,6 @@
   if ((window = SelectVector (argv[5], OLDVECTOR, TRUE)) == NULL) goto escape;
   
-  mask = atoi (argv[6]);
+  int mask = atoi (argv[6]);
+  CastVector (window, OPIHI_INT);
 
   // minimize (flux1 - flux2*alpha) in window defined by mask
@@ -22,5 +24,5 @@
   for (i = 0; i < flux1->Nelements; i++) {
     if ((mask & window->elements.Int[i]) == 0) continue;
-    weight = 1.0 / (SQ(dflux1->elements.Flt[i]) + SQ(dflux2->elements.Flt[i]));
+    double weight = 1.0 / (SQ(dflux1->elements.Flt[i]) + SQ(dflux2->elements.Flt[i]));
     F12 += flux1->elements.Flt[i] * flux2->elements.Flt[i] * weight;
     F22 += flux2->elements.Flt[i] * flux2->elements.Flt[i] * weight;
@@ -34,5 +36,5 @@
   for (i = 0; i < flux1->Nelements; i++) {
     if ((mask & window->elements.Int[i]) == 0) continue;
-    weight = 1.0 / (SQ(dflux1->elements.Flt[i]) + SQ(dflux2->elements.Flt[i]));
+    double weight = 1.0 / (SQ(dflux1->elements.Flt[i]) + SQ(dflux2->elements.Flt[i]));
     chisq += (flux1->elements.Flt[i] - Ao * flux2->elements.Flt[i]) * weight;
     Ndof ++;
