Index: trunk/Ohana/src/opihi/cmd.astro/cgrid.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/cgrid.c	(revision 40624)
+++ trunk/Ohana/src/opihi/cmd.astro/cgrid.c	(revision 40625)
@@ -101,4 +101,18 @@
   }
 
+  minorRA = NAN;
+  if ((N = get_argument (argc, argv, "-ra-spacing"))) {
+    remove_argument (N, &argc, argv);
+    minorRA = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  minorDEC = NAN;
+  if ((N = get_argument (argc, argv, "-dec-spacing"))) {
+    remove_argument (N, &argc, argv);
+    minorDEC = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
   int JustifyRA = 5;
   double JustifyDEC = 5;
@@ -153,23 +167,25 @@
     SouthPole = TRUE;
 
-  /* set spacings for RA */
-  minorRA = minorDEC = 0.1;
   range = MIN (fabs(graphmode.coords.cdelt1*(graphmode.xmax-graphmode.xmin)), fabs(graphmode.coords.cdelt2*(graphmode.ymax-graphmode.ymin)));
   if (NorthPole || SouthPole) range = 360;
-
-  if (RAbyHour) {
-    SetGridScales (&major, &minor, range / 15.0);
-    minorRA = MinorSpacing ? minor * 15.0 : major * 15.0;
-  } else {
+  dR = range * GRID_SPACING;
+  dD = range * GRID_SPACING;
+
+  /* set spacings for RA */
+  if (isnan(minorRA)) {
+    if (RAbyHour) {
+      SetGridScales (&major, &minor, range / 15.0);
+      minorRA = MinorSpacing ? minor * 15.0 : major * 15.0;
+    } else {
+      SetGridScales (&major, &minor, range);
+      minorRA = MinorSpacing ? minor : major;
+    }
+  }
+  
+  /* set spacings for DEC */
+  if (isnan(minorDEC)) {
     SetGridScales (&major, &minor, range);
-    minorRA = MinorSpacing ? minor : major;
-  }
-  dR = range * GRID_SPACING;
-
-  /* set spacings for DEC */
-  range = MIN (fabs(graphmode.coords.cdelt1*(graphmode.xmax-graphmode.xmin)), fabs(graphmode.coords.cdelt2*(graphmode.ymax-graphmode.ymin)));
-  SetGridScales (&major, &minor, range);
-  minorDEC = MinorSpacing ? minor : major;
-  dD = range * GRID_SPACING;
+    minorDEC = MinorSpacing ? minor : major;
+  }
 
   /* choose a starting point */
@@ -235,5 +251,5 @@
   // add labels for center lines:
   if (Labels) { 
-    char line[16], format[8];
+    char line[16], format[16];
     double xt, yt, frac;
     // dx = +0.01 * (graphmode.xmax - graphmode.xmin);
@@ -255,8 +271,8 @@
       if (frac <= 0.0) frac = 0.0;
       if (RAbyHour) {
-	snprintf (format, 8, "%%.%df^h", (int) frac);
+	snprintf (format, 16, "%%.%df^h", (int) frac);
 	snprintf (line, 16, format, r / 15.0);
       } else {
-	snprintf (format, 8, "%%.%df^o", (int) frac);
+	snprintf (format, 16, "%%.%df^o", (int) frac);
 	snprintf (line, 16, format, r);
       }
@@ -276,8 +292,8 @@
       if (frac <= 0.0) frac = 0.0;
       if (RAbyHour) {
-	snprintf (format, 8, "%%.%df^h", (int) frac);
+	snprintf (format, 16, "%%.%df^h", (int) frac);
 	snprintf (line, 16, format, r / 15.0);
       } else {
-	snprintf (format, 8, "%%.%df^o", (int) frac);
+	snprintf (format, 16, "%%.%df^o", (int) frac);
 	snprintf (line, 16, format, r);
       }
@@ -296,5 +312,5 @@
       }
       if (frac <= 0.0) frac = 0.0;
-      snprintf (format, 8, "%%.%df^o", (int) frac);
+      snprintf (format, 16, "%%.%df^o", (int) frac);
       snprintf (line, 16, format, d);
       KapaSendTextline (kapa, line, xt, yt, 0.0, JustifyDEC, LabelColor);
@@ -312,5 +328,5 @@
       }
       if (frac <= 0.0) frac = 0.0;
-      snprintf (format, 8, "%%.%df^o", (int) frac);
+      snprintf (format, 16, "%%.%df^o", (int) frac);
       snprintf (line, 16, format, d);
       KapaSendTextline (kapa, line, xt, yt, 0.0, JustifyDEC, LabelColor);
