Index: /trunk/Ohana/src/mosastro/include/mosastro.h
===================================================================
--- /trunk/Ohana/src/mosastro/include/mosastro.h	(revision 7400)
+++ /trunk/Ohana/src/mosastro/include/mosastro.h	(revision 7401)
@@ -1,4 +1,6 @@
 # include <ohana.h>
 # include <dvo.h>
+
+# define PSASTRO_MODE 0
 
 typedef struct {
Index: /trunk/Ohana/src/mosastro/src/chips.c
===================================================================
--- /trunk/Ohana/src/mosastro/src/chips.c	(revision 7400)
+++ /trunk/Ohana/src/mosastro/src/chips.c	(revision 7401)
@@ -40,8 +40,29 @@
     /** test for NaN Scale **/
 
+    // XXX : temporarily drop the re-scaling to compare with psastro
+    # if (PSASTRO_MODE)
+    chip[i].map.pc1_1  = chip[i].coords.pc1_1;
+    chip[i].map.pc2_2  = chip[i].coords.pc2_2;
+    chip[i].map.pc1_2  = chip[i].coords.pc1_2;
+    chip[i].map.pc2_1  = chip[i].coords.pc2_1;
+    # else
     chip[i].map.pc1_1  = Scale * chip[i].coords.pc1_1 * chip[i].coords.cdelt1;
     chip[i].map.pc2_2  = Scale * chip[i].coords.pc2_2 * chip[i].coords.cdelt2;
     chip[i].map.pc1_2  = Scale * chip[i].coords.pc1_2 * chip[i].coords.cdelt2;
     chip[i].map.pc2_1  = Scale * chip[i].coords.pc2_1 * chip[i].coords.cdelt1;
+    # endif
+
+    # if 0
+    // XXX this is the wrong choice: re-scaling each chip ruins distortion measurement
+    chip[i].map.pc1_1  = chip[i].coords.pc1_1 * chip[i].coords.cdelt1 / chip[0].coords.cdelt1;
+    chip[i].map.pc2_2  = chip[i].coords.pc2_2 * chip[i].coords.cdelt2 / chip[0].coords.cdelt2;
+    chip[i].map.pc1_2  = chip[i].coords.pc1_2 * chip[i].coords.cdelt1 / chip[0].coords.cdelt1;
+    chip[i].map.pc2_1  = chip[i].coords.pc2_1 * chip[i].coords.cdelt2 / chip[0].coords.cdelt2;
+    # endif
+
+    fprintf (stderr, "chip: %f %f (%f,%f),(%f,%f)\n", 
+	     chip[i].map.crval1, chip[i].map.crval2, 
+	     chip[i].map.pc1_1, chip[i].map.pc1_2, 
+	     chip[i].map.pc2_1, chip[i].map.pc2_2);
 
     chip[i].map.Npolyterms = 1;
Index: /trunk/Ohana/src/mosastro/src/field.c
===================================================================
--- /trunk/Ohana/src/mosastro/src/field.c	(revision 7400)
+++ /trunk/Ohana/src/mosastro/src/field.c	(revision 7401)
@@ -13,6 +13,14 @@
   /* bore site center guess */
   strcpy (field.project.ctype, "DEC--TAN");
+
+  # if (PSASTRO_MODE)
+  // XXX : temporarily use a fixed ref point to compare with psastro
+  field.project.crval1 = chip[0].coords.crval1;
+  field.project.crval2 = chip[0].coords.crval2;
+  # else
   field.project.crval1 = 0.5*(field.Rmin + field.Rmax);
   field.project.crval2 = 0.5*(field.Dmin + field.Dmax);
+  # endif
+
   field.project.crpix1 = 0;
   field.project.crpix2 = 0;
@@ -27,5 +35,15 @@
   field.project.cdelt1 /= Nchip;
   field.project.cdelt2 /= Nchip;
+
+  # if (PSASTRO_MODE)
+  // XXX : temporarily use first chip as ref scale to compare with psastro
+  field.project.cdelt1 = chip[0].coords.cdelt1;
+  field.project.cdelt2 = chip[0].coords.cdelt2;
+  # endif
   /* force starting guess to have equal x & y plate scales? */
+
+  fprintf (stderr, "field: %f,%f  %f,%f\n", 
+	   field.project.crval1, field.project.crval2, 
+	   3600*field.project.cdelt1, 3600*field.project.cdelt2);
 
   /** allow guess at field rotation?? **/
Index: /trunk/Ohana/src/mosastro/src/match.c
===================================================================
--- /trunk/Ohana/src/mosastro/src/match.c	(revision 7400)
+++ /trunk/Ohana/src/mosastro/src/match.c	(revision 7401)
@@ -12,4 +12,5 @@
   /* requested radius is in arcsec ; internally radius is in pixels */
   Radius = RADIUS / (3600.0 * field.project.cdelt2);
+  fprintf (stderr, "mosastro match radius: %f\n", Radius);
 
   /* sort the REFCAT data by P in tangent plane */ 
