Index: trunk/psastro/src/psastroModelFitBoresite.c
===================================================================
--- trunk/psastro/src/psastroModelFitBoresite.c	(revision 15891)
+++ trunk/psastro/src/psastroModelFitBoresite.c	(revision 19387)
@@ -2,5 +2,5 @@
 
 // we now have a set of observed L,M values.  fit these to the boresite model
-psVector *psastroModelFitBoresite (psVector *Xo, psVector *Yo, psVector *Po) {
+psVector *psastroModelFitBoresite (psVector *Xo, psVector *Yo, psVector *Po, char *outroot) {
 
     assert (Xo->n > 2);
@@ -74,11 +74,19 @@
     psMinimizeLMChi2(myMin, covar, params, constraint, x, y, NULL, psastroModelBoresite);
 
-    fprintf (stderr, "fitted values:\n");
-    fprintf (stderr, "Xo:  %f\n", params->data.F32[PAR_X0]);
-    fprintf (stderr, "Yo:  %f\n", params->data.F32[PAR_Y0]);
-    fprintf (stderr, "RX:  %f\n", params->data.F32[PAR_RX]);
-    fprintf (stderr, "RY:  %f\n", params->data.F32[PAR_RY]);
-    fprintf (stderr, "P0:  %f\n", params->data.F32[PAR_P0]);
-    fprintf (stderr, "T0:  %f\n", params->data.F32[PAR_T0]);
+    char filename[256];
+    snprintf (filename, 256, "%s.pars", outroot);
+    FILE *outfile = fopen (filename, "w");
+    if (!outfile) {
+        psAbort("cannot open %s for output", filename);
+    }
+
+    fprintf (outfile, "# fitted values:\n");
+    fprintf (outfile, "Xo:  %f\n", params->data.F32[PAR_X0]);
+    fprintf (outfile, "Yo:  %f\n", params->data.F32[PAR_Y0]);
+    fprintf (outfile, "RX:  %f\n", params->data.F32[PAR_RX]);
+    fprintf (outfile, "RY:  %f\n", params->data.F32[PAR_RY]);
+    fprintf (outfile, "P0:  %f\n", params->data.F32[PAR_P0]);
+    fprintf (outfile, "T0:  %f\n", params->data.F32[PAR_T0]);
+    fclose (outfile);
 
     return params;
