Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryDistortion.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryDistortion.c	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryDistortion.c	(revision 41826)
@@ -29,4 +29,5 @@
 #include "pmAstrometryRegions.h"
 #include "pmAstrometryDistortion.h"
+#include "pmAstrometryUtils.h"
 #include "pmKapaPlots.h"
 
@@ -183,4 +184,6 @@
     PS_ASSERT_PTR_NON_NULL(fpa, false);
     PS_ASSERT_ARRAY_NON_NULL(gradients, false);
+
+    int ExtraOrders = pmAstrometryGetExtraOrders();
 
     psPolynomial2D *localX = NULL;
@@ -342,5 +345,5 @@
     // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
     psFree (fpa->fromTPA);
-    fpa->fromTPA = psPlaneTransformInvert(NULL, fpa->toTPA, *region, 50, EXTRA_ORDERS);
+    fpa->fromTPA = psPlaneTransformInvert(NULL, fpa->toTPA, *region, 50, ExtraOrders);
     psFree (region);
 
Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryModel.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryModel.c	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryModel.c	(revision 41826)
@@ -461,4 +461,6 @@
     bool status;
 
+    int ExtraOrders = pmAstrometryGetExtraOrders();
+
     // set FITS cursor
     if (!psFitsMoveExtName (file->fits, "CHIPS")) {
@@ -525,5 +527,5 @@
 	// as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
         psFree (chip->fromFPA);
-        chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, EXTRA_ORDERS);
+        chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, ExtraOrders);
 
         psFree (region);
@@ -539,4 +541,6 @@
 
     bool status;
+
+    int ExtraOrders = pmAstrometryGetExtraOrders();
 
     if (!psFitsMoveExtName (file->fits, "FP")) {
@@ -587,5 +591,5 @@
     // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
     psFree (file->fpa->fromTPA);
-    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, EXTRA_ORDERS);
+    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, ExtraOrders);
 
     psFree (model);
@@ -684,4 +688,6 @@
     bool status;
 
+    int ExtraOrders = pmAstrometryGetExtraOrders();
+
     // these externally supplied values are used to set the final transformation terms
     double RA  = psMetadataLookupF64 (&status, concepts, "FPA.RA"); REQUIRE (status, "missing FPA.RA");
@@ -731,5 +737,5 @@
 
     psFree (file->fpa->fromTPA);
-    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, EXTRA_ORDERS);
+    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, ExtraOrders);
 
     psFree (region);
Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryRegions.h
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryRegions.h	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryRegions.h	(revision 41826)
@@ -12,5 +12,5 @@
 
 // used by pmAstrometryDistortion.c, pmAstrometryWCS.c, pmAstrometryModel.c
-# define EXTRA_ORDERS 6
+// # define EXTRA_ORDERS 6
 
 /// @addtogroup Astrometry
Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.c	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.c	(revision 41826)
@@ -23,4 +23,15 @@
 #include "pmAstrometryUtils.h"
 
+static int transform_extra_orders = 4;
+
+int pmAstrometryGetExtraOrders (void) {
+  return transform_extra_orders;
+}
+
+int pmAstrometrySetExtraOrders (int orders) {
+  transform_extra_orders = orders;
+  return transform_extra_orders;
+}
+
 // this is used by the test output block
 static int Nout = 0;
Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.h
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.h	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryUtils.h	(revision 41826)
@@ -25,4 +25,7 @@
 bool psPlaneDistortIsDiagonal (psPlaneDistort *distort);
 
+int pmAstrometryGetExtraOrders (void);
+int pmAstrometrySetExtraOrders (int orders);
+
 /// @}
 #endif
Index: branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryWCS.c
===================================================================
--- branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryWCS.c	(revision 41825)
+++ branches/eam_branches/ipp-dev-20210817/psModules/src/astrom/pmAstrometryWCS.c	(revision 41826)
@@ -501,4 +501,6 @@
     psPlaneTransform *toFPA;
 
+    int ExtraOrders = pmAstrometryGetExtraOrders();
+
     // create transformation with 0,0 reference pixel and units of degrees/pixel
     toFPA = psPlaneTransformSetCenter (NULL, wcs->trans, -wcs->crpix1, -wcs->crpix2);
@@ -608,5 +610,5 @@
     // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
     psFree (chip->fromFPA);
-    chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, EXTRA_ORDERS);
+    chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, ExtraOrders);
     psFree (region);
 
@@ -648,4 +650,6 @@
      */
 
+    int ExtraOrders = pmAstrometryGetExtraOrders();
+
     psFree (chip->toFPA);
     if ((fabs(wcs->crpix1) > 0.01) || (fabs(wcs->crpix2) > 0.01)) {
@@ -668,5 +672,5 @@
     // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
     psFree (chip->fromFPA);
-    chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, EXTRA_ORDERS);
+    chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, ExtraOrders);
     psFree (region);
 
@@ -700,5 +704,5 @@
     // the region defines the FPA pixels covered by the tranformation
     psFree (fpa->fromTPA);
-    int additional_orders = EXTRA_ORDERS;  // This is the number of orders that should be added.
+    int additional_orders = pmAstrometryGetExtraOrders();  // This is the number of orders that should be added.
     bool status = false;
     int config_additional_orders = psMetadataLookupS32(&status,fpa->analysis, "ADDITIONAL_WCS_ORDERS");
@@ -997,4 +1001,6 @@
     PS_ASSERT_PTR_NON_NULL(inChip, NULL);
 
+    int ExtraOrders = pmAstrometryGetExtraOrders();
+
     if (outFPA == NULL) {
         outFPA = inFPA;
@@ -1032,5 +1038,5 @@
 
     // NOTE: the extraOrders value (4) should be ignored since outToFPA is specified to be linear
-    psPlaneTransform *outFromFPA = psPlaneTransformInvert(NULL, outToFPA, *outputBounds, 50, EXTRA_ORDERS);
+    psPlaneTransform *outFromFPA = psPlaneTransformInvert(NULL, outToFPA, *outputBounds, 50, ExtraOrders);
     if (!outFromFPA) {
         psFree(outToFPA);
