Index: trunk/Ohana/src/opihi/lib.data/mrqmin.c
===================================================================
--- trunk/Ohana/src/opihi/lib.data/mrqmin.c	(revision 2598)
+++ trunk/Ohana/src/opihi/lib.data/mrqmin.c	(revision 2843)
@@ -2,13 +2,8 @@
 
 /* need to pass in a function of the form:
-
    funcs (x, a, Npar, dyda) 
-
    returns f (x) for Npar parameters a, also df/da at x 
-
    dy carries 1/sig^2 
-
 */
-
 
 static float **alpha, **talpha;
@@ -52,5 +47,5 @@
 float mrqmin (float *x, float *y, float *dy, int Npts, 
 	      float *par, int Npar, 
-	      float (funcs)(float, float *, int, float *)) {
+	      float (funcs)(float, float *, int, float *), int VERBOSE) {
 
   int j, k;
@@ -66,10 +61,15 @@
   fgaussj (talpha, Npar, tbeta, 1);
 
-  /* if we keep some fixed, set partry to just them 
-     for (j = 0; j < Npar; j++) partry[j] = par[j]; */
-
   for (j = 0; j < Npar; j++) partry[j] = par[j] - tbeta[j][0];
 
   chisq = mrqcof (x, y, dy, Npts, partry, Npar, talpha, tbeta, funcs);
+  if (VERBOSE) { 
+    fprintf (stderr, "chisq: %f  ", chisq);
+    fprintf (stderr, "lambda: %f  ", lambda);
+    for (j = 0; j < Npar; j++) {
+      fprintf (stderr, "%f ", partry[j]);
+    }
+    fprintf (stderr, "\n");
+  }
 
   /* if good, save temp values */
@@ -91,7 +91,7 @@
 }
 
-int mrqinit (float *x, float *y, float *dy, int Npts, 
+float mrqinit (float *x, float *y, float *dy, int Npts, 
 	      float *par, int Npar, 
-	      float (funcs)(float, float *, int, float *)) {
+	      float (funcs)(float, float *, int, float *), int VERBOSE) {
 
   int i;
@@ -109,23 +109,24 @@
     ALLOCATE (tbeta[i], float, Npar);
   }
-
   
-  lambda = 0.001;
+  lambda = 0.01;
   
   ochisq = mrqcof (x, y, dy, Npts, par, Npar, alpha, beta, funcs);
-
-  return (TRUE);
+  if (VERBOSE) {
+    fprintf (stderr, "chisq: %f  ", ochisq);
+    fprintf (stderr, "lambda: %f  ", lambda);
+    for (i = 0; i < Npar; i++) {
+      fprintf (stderr, "%f ", par[i]);
+    }
+    fprintf (stderr, "\n");
+  }
+  return (ochisq);
 }
-
-
 
 /* don't invoke this in the middle of a run, only near the end */ 
 float **mrqcovar (int Npar) {
-
   fgaussj (alpha, Npar, beta, 1);
   return (alpha);
-
 } 
-
 
 void mrqfree (int Npar) {
@@ -145,4 +146,3 @@
   free (partry);
   free (dyda);
-
 }
