Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroAstromGuess.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroAstromGuess.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroAstromGuess.c	(revision 41833)
@@ -397,5 +397,5 @@
     }
 
-    psPlaneTransform *map = psPlaneTransformAlloc (1, 1);
+    psPlaneTransform *map = psPlaneTransformAlloc (1, 1, PS_POLYNOMIAL_ORD);
     map->x->coeffMask[1][1] = PS_POLY_MASK_SET;
     map->y->coeffMask[1][1] = PS_POLY_MASK_SET;
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroFixChips.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroFixChips.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroFixChips.c	(revision 41833)
@@ -170,5 +170,5 @@
     if (DEBUG) fclose (f);
 
-    psPlaneTransform *map = psPlaneTransformAlloc (1, 1);
+    psPlaneTransform *map = psPlaneTransformAlloc (1, 1, PS_POLYNOMIAL_ORD);
 
     psVector *mask = psVectorAlloc (nPts, PS_TYPE_VECTOR_MASK);
@@ -289,5 +289,5 @@
         // apply the exiting fromTPA transformation to make the new toFPA consistent with the toTPA layter
         // XXX this only works if toTPA is at most a linear transformation
-        psPlaneTransform *toFPA = psPlaneTransformAlloc(refChip->toFPA->x->nX, refChip->toFPA->x->nY);
+        psPlaneTransform *toFPA = psPlaneTransformAlloc(refChip->toFPA->x->nX, refChip->toFPA->x->nY, PS_POLYNOMIAL_ORD);
         for (int i = 0; i <= refChip->toFPA->x->nX; i++) {
             for (int j = 0; j <= refChip->toFPA->x->nY; j++) {
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicAstrom.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicAstrom.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicAstrom.c	(revision 41833)
@@ -277,9 +277,8 @@
     }
 
-    // the original transforms are (1, 1), but we will need higher order to fit the distortions
+    // the original transforms are (1, 1), but we will need higher order to fit the distortions.
+    // forward transformations (chip->fpa->tpa->sky) use Ordinary polynomials
     psFree (fpa->toTPA);
-
-    // the original transforms are (1, 1), but we will need higher order to fit the distortions
-    fpa->toTPA = psPlaneTransformAlloc (order, order);
+    fpa->toTPA = psPlaneTransformAlloc (order, order, PS_POLYNOMIAL_ORD);
     for (int i = 0; i <= fpa->toTPA->x->nX; i++) {
         for (int j = 0; j <= fpa->toTPA->x->nY; j++) {
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicCorrectDistortion.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicCorrectDistortion.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicCorrectDistortion.c	(revision 41833)
@@ -22,6 +22,7 @@
     }
 
-    // store the new coeffs in a new structure
-    psPlaneTransform *toTPAnew = psPlaneTransformAlloc(fpa->toTPA->x->nX, fpa->toTPA->x->nY);
+    // Store the new coeffs in a new structure.  Forward transformations (chip->fpa->tpa->sky)
+    // use Ordinary polynomials
+    psPlaneTransform *toTPAnew = psPlaneTransformAlloc(fpa->toTPA->x->nX, fpa->toTPA->x->nY, PS_POLYNOMIAL_ORD);
 
     // set the new coeffs, or set the mask
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicFPtoTP.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicFPtoTP.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicFPtoTP.c	(revision 41833)
@@ -80,5 +80,5 @@
 
     // linear fit without xy cross term
-    psPlaneTransform *map = psPlaneTransformAlloc (1, 1);
+    psPlaneTransform *map = psPlaneTransformAlloc (1, 1, PS_POLYNOMIAL_ORD);
     map->x->coeffMask[1][1] = PS_POLY_MASK_SET;
     map->y->coeffMask[1][1] = PS_POLY_MASK_SET;
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicGradients.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicGradients.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicGradients.c	(revision 41833)
@@ -84,6 +84,8 @@
         return false;
     }
+
+    // forward transformations (chip->fpa->tpa->sky) use Ordinary polynomials
     psFree (fpa->toTPA);
-    fpa->toTPA = psPlaneTransformAlloc (order, order);
+    fpa->toTPA = psPlaneTransformAlloc (order, order, PS_POLYNOMIAL_ORD);
     for (int i = 0; i <= fpa->toTPA->x->nX; i++) {
         for (int j = 0; j <= fpa->toTPA->x->nY; j++) {
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicOneChip.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicOneChip.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroMosaicOneChip.c	(revision 41833)
@@ -88,6 +88,7 @@
         }
     } else {
+	// Forward transformations (chip->fpa->tpa->sky) use Ordinary polynomials
         psFree (chip->toFPA);
-        chip->toFPA = psPlaneTransformAlloc (order, order);
+        chip->toFPA = psPlaneTransformAlloc (order, order, PS_POLYNOMIAL_ORD);
         for (int i = 0; i <= chip->toFPA->x->nX; i++) {
             for (int j = 0; j <= chip->toFPA->x->nY; j++) {
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroOneChipFit.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroOneChipFit.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroOneChipFit.c	(revision 41833)
@@ -121,7 +121,8 @@
         }
 
-        // create output toFPA; set masks appropriate to the Elixir DVO astrometry format
+        // Create output toFPA; set masks appropriate to the Elixir DVO astrometry format.
+	// Forward transformations (chip->fpa->tpa->sky) use Ordinary polynomials
         psFree (chip->toFPA);
-        chip->toFPA = psPlaneTransformAlloc (order, order);
+        chip->toFPA = psPlaneTransformAlloc (order, order, PS_POLYNOMIAL_ORD);
         for (int i = 0; i <= chip->toFPA->x->nX; i++) {
             for (int j = 0; j <= chip->toFPA->x->nY; j++) {
Index: branches/eam_branches/ipp-dev-20210817/psastro/src/psastroUtils.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psastro/src/psastroUtils.c	(revision 41832)
+++ branches/eam_branches/ipp-dev-20210817/psastro/src/psastroUtils.c	(revision 41833)
@@ -215,5 +215,5 @@
 psPlaneTransform *psPlaneTransformCopy (psPlaneTransform *input) {
 
-    psPlaneTransform *output = psPlaneTransformAlloc (input->x->nX, input->x->nY);
+    psPlaneTransform *output = psPlaneTransformAlloc (input->x->nX, input->x->nY, input->x->type);
 
     for (int i = 0; i < input->x->nX; i++) {
