Index: /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39745)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39746)
@@ -353,4 +353,7 @@
 int    VERBOSE;
 int    VERBOSE2;
+
+float  TEST_SCALE;
+char  *GALAXY_MODEL;
 
 int    USE_FIXED_PIXCOORDS;
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/ConfigInit.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/ConfigInit.c	(revision 39745)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/ConfigInit.c	(revision 39746)
@@ -84,11 +84,4 @@
   SetZeroPoint (25.0);
 
-  if (USE_GALAXY_MODEL) {
-    if (!InitGalaxyModel ("FEAST-HIPPARCOS")) {
-      fprintf (stderr, "failed to init galaxy model\n");
-      exit (2);
-    }
-  }
-
   FreeConfigFile();
   free (config);
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/FitChip.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/FitChip.c	(revision 39745)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/FitChip.c	(revision 39746)
@@ -78,5 +78,5 @@
       order_use = MIN(MIN(order_use, CHIPMAP), 6); // can only go up to 6th order map (can be user limited)
     } else {
-      order_use = MIN(order_use, 3); // can only go up to 3rd order for polynomials
+      order_use = MIN(MIN(order_use, CHIPORDER), 3); // can only go up to 3rd order for polynomials
     }
 
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39745)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39746)
@@ -667,4 +667,20 @@
   }
 
+  GALAXY_MODEL = NULL;
+  if ((N = get_argument (argc, argv, "-galaxy-model"))) {
+    remove_argument (N, &argc, argv);
+    GALAXY_MODEL = strcreate(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if (!GALAXY_MODEL) GALAXY_MODEL = strcreate ("FEAST-HIPPARCOS");
+
+  // for testing, allow the galaxy model scale to be non-unity
+  TEST_SCALE = 1.0;
+  if ((N = get_argument (argc, argv, "-testing"))) {
+    remove_argument (N, &argc, argv);
+    TEST_SCALE = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
   NTHREADS = 0;
   if ((N = get_argument (argc, argv, "-threads"))) {
@@ -916,4 +932,20 @@
     remove_argument (N, &argc, argv);
     ExcludeBogus = TRUE;
+  }
+
+  GALAXY_MODEL = NULL;
+  if ((N = get_argument (argc, argv, "-galaxy-model"))) {
+    remove_argument (N, &argc, argv);
+    GALAXY_MODEL = strcreate(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if (!GALAXY_MODEL) GALAXY_MODEL = strcreate ("FEAST-HIPPARCOS");
+
+  // for testing, allow the galaxy model scale to be non-unity
+  TEST_SCALE = 1.0;
+  if ((N = get_argument (argc, argv, "-testing"))) {
+    remove_argument (N, &argc, argv);
+    TEST_SCALE = atof(argv[N]);
+    remove_argument (N, &argc, argv);
   }
 
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/initialize.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/initialize.c	(revision 39745)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/initialize.c	(revision 39746)
@@ -11,4 +11,11 @@
   ConfigInit (&argc, argv);
   args (argc, argv);
+
+  if (USE_GALAXY_MODEL) {
+    if (!InitGalaxyModel (GALAXY_MODEL)) {
+      fprintf (stderr, "failed to init galaxy model %s\n", GALAXY_MODEL);
+      exit (2);
+    }
+  }
 
   if (RELASTRO_OP == OP_MERGE_SOURCE) return;
