Index: trunk/Ohana/src/dvomerge/Makefile
===================================================================
--- trunk/Ohana/src/dvomerge/Makefile	(revision 27582)
+++ trunk/Ohana/src/dvomerge/Makefile	(revision 27583)
@@ -1,3 +1,3 @@
-default: dvomerge
+default: all
 help:
 	@echo "make options: dvomerge (default)"
@@ -18,5 +18,7 @@
 
 dvomerge     : $(BIN)/dvomerge.$(ARCH)
-all: dvomerge
+dvomerge     : $(BIN)/dvoconvert.$(ARCH)
+
+all: dvomerge dvoconvert
 
 DVOMERGE = \
@@ -41,5 +43,20 @@
 $(BIN)/dvomerge.$(ARCH) : $(DVOMERGE)
 
-INSTALL = dvomerge
+DVOCONVERT = \
+$(SRC)/dvoconvert.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/ConfigInit.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
+$(SRC)/help.$(ARCH).o \
+$(SRC)/args.$(ARCH).o \
+$(SRC)/SkyTablePopulatedRange.$(ARCH).o \
+$(SRC)/LoadCatalog.$(ARCH).o \
+$(SRC)/merge_catalogs_new.$(ARCH).o
+
+$(DVOCONVERT)  : $(INC)/dvomerge.h
+
+$(BIN)/dvoconvert.$(ARCH) : $(DVOCONVERT)
+
+INSTALL = dvomerge dvoconvert
 
 # dependancy rules for binary code #########################
Index: trunk/Ohana/src/dvomerge/include/dvomerge.h
===================================================================
--- trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 27582)
+++ trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 27583)
@@ -46,7 +46,11 @@
 int        Shutdown               PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2);
 
-void       usage                  PROTO((void));
-void 	   help 		  PROTO((int argc, char **argv));
-int  	   args 		  PROTO((int *argc, char **argv));
+void       dvomerge_usage         PROTO((void));
+void 	   dvomerge_help          PROTO((int argc, char **argv));
+int  	   dvomerge_args 	  PROTO((int *argc, char **argv));
+
+void       dvoconvert_usage       PROTO((void));
+void 	   dvoconvert_help 	  PROTO((int argc, char **argv));
+int  	   dvoconvert_args	  PROTO((int *argc, char **argv));
 
 int        SkyTablePopulatedRange PROTO((off_t *ns, off_t *ne, SkyTable *sky, off_t Nstart));
Index: trunk/Ohana/src/dvomerge/src/args.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/args.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/args.c	(revision 27583)
@@ -2,27 +2,7 @@
 
 /*** check for command line options ***/
-int args (int *argc, char **argv) {
+int dvomerge_args (int *argc, char **argv) {
   
-  int N, CONFIRM;
-
-  /*** provide additional data ***/ 
-  /* restrict to a portion of the sky? (REFCAT only) */
-  UserPatch.Rmin = 0;
-  UserPatch.Rmax = 360;
-  UserPatch.Dmin = -90;
-  UserPatch.Dmax = +90;
-  CONFIRM = TRUE;
-  if ((N = get_argument (*argc, argv, "-region"))) {
-    remove_argument (N, argc, argv);
-    UserPatch.Rmin = atof (argv[N]);
-    remove_argument (N, argc, argv);
-    UserPatch.Rmax = atof (argv[N]);
-    remove_argument (N, argc, argv);
-    UserPatch.Dmin = atof (argv[N]);
-    remove_argument (N, argc, argv);
-    UserPatch.Dmax = atof (argv[N]);
-    remove_argument (N, argc, argv);
-    CONFIRM = FALSE;
-  }
+  int N;
 
   /* extra error messages */
@@ -33,5 +13,21 @@
   }
 
-  if ((*argc != 6) && (*argc != 4)) usage();
+  if ((*argc != 6) && (*argc != 4)) dvomerge_usage();
   return TRUE;
 }
+
+/*** check for command line options ***/
+int dvoconvert_args (int *argc, char **argv) {
+  
+  int N;
+
+  /* extra error messages */
+  VERBOSE = FALSE;
+  if ((N = get_argument (*argc, argv, "-v"))) {
+    VERBOSE = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  if (*argc != 4) dvoconvert_usage();
+  return TRUE;
+}
Index: trunk/Ohana/src/dvomerge/src/dvomerge.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvomerge.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/dvomerge.c	(revision 27583)
@@ -4,11 +4,11 @@
 
   SetSignals ();
-  help (argc, argv);
+  dvomerge_help (argc, argv);
   ConfigInit (&argc, argv);
-  args (&argc, argv);
+  dvomerge_args (&argc, argv);
 
   if (argc == 6) dvomergeCreate (argc, argv);
   if (argc == 4) dvomergeUpdate (argc, argv);
-  usage();
+  dvomerge_usage();
   exit (2); // cannot reach here.
 }
Index: trunk/Ohana/src/dvomerge/src/dvomergeCreate.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvomergeCreate.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/dvomergeCreate.c	(revision 27583)
@@ -13,6 +13,6 @@
   IDmapType IDmap1, IDmap2;
 
-  if (strcasecmp (argv[2], "and")) usage();
-  if (strcasecmp (argv[4], "to")) usage();
+  if (strcasecmp (argv[2], "and")) dvomerge_usage();
+  if (strcasecmp (argv[4], "to")) dvomerge_usage();
 
   input1 = argv[1];
Index: trunk/Ohana/src/dvomerge/src/dvomergeUpdate.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvomergeUpdate.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/dvomergeUpdate.c	(revision 27583)
@@ -11,5 +11,5 @@
   IDmapType IDmap;
 
-  if (strcasecmp (argv[2], "into")) usage();
+  if (strcasecmp (argv[2], "into")) dvomerge_usage();
 
   input  = argv[1];
Index: trunk/Ohana/src/dvomerge/src/help.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/help.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/help.c	(revision 27583)
@@ -1,5 +1,5 @@
 # include "dvomerge.h"
 
-void usage (void) {
+void dvomerge_usage (void) {
   fprintf (stderr, "USAGE: dvomerge (input1) and (input2) to (output)\n");
   fprintf (stderr, "   OR: dvomerge (input) into (output)\n");
@@ -7,5 +7,12 @@
 }
 
-void help (int argc, char **argv) {
+void dvoconvert_usage(void) {
+
+  fprintf (stderr, "USAGE: dvoconvert (input) to (output)\n");
+
+  exit (2);
+}
+
+void dvomerge_help (int argc, char **argv) {
 
   /* check for help request */
@@ -17,7 +24,8 @@
 
   fprintf (stderr, "USAGE\n");
-  fprintf (stderr, "  dvosplit (newlevel)\n\n");
+  fprintf (stderr, "  dvomerge (input1) and (input2) to (output)\n");
+  fprintf (stderr, "  dvomerge (input) into (output)\n\n");
+  fprintf (stderr, "  merge DVO databases\n");
   fprintf (stderr, "  optional flags:\n");
-  fprintf (stderr, "  -region ra ra dec dec 	  : migrate catalogs in specified region\n");
   fprintf (stderr, "  -v                    	  : verbose mode\n");
   fprintf (stderr, "  -help                 	  : this list\n");
@@ -26,17 +34,25 @@
 }
 
-/** addstar modes:
+void dvoconvert_help (int argc, char **argv) {
+
+  /* check for help request */
+  if (get_argument (argc, argv, "-help")) goto show_help;
+  if (get_argument (argc, argv, "-h"))    goto show_help;
+  return;
+
+show_help:
+
+  fprintf (stderr, "USAGE\n");
+  fprintf (stderr, "  dvoconvert (input) to (output)\n\n");
+
+  fprintf (stderr, "  change output format and mode with\n");
+  fprintf (stderr, "  -D CATFORMAT (format)\n");
+  fprintf (stderr, "  -D CATMODE (mode)\n\n");
  
-    addstar (image.smp)  - add cmp/smp image data to db
-    addstar -ref (file.dat) (photcode) 
-    addstar -cat (USNO/2MASS/GSC) -region (ra dec - ra dec)
+  fprintf (stderr, "  optional flags:\n");
+  fprintf (stderr, "  -v                    	  : verbose mode\n");
+  fprintf (stderr, "  -help                 	  : this list\n");
+  fprintf (stderr, "  -h                    	  : this list\n\n");
+  exit (2);
+}
 
-    -replace : ref/cat - replace existing match (photcode/time)
-    -match   : ref/cat - only add measures to existing averages
-
-    ref types: 
-    ASCII - RA,DEC,M,dM in a table
-
-    addstar 
-
-**/
Index: trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 27582)
+++ trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 27583)
@@ -260,5 +260,9 @@
 
     output[0].average[Nave].Xp        	   = 0;
-    output[0].average[Nave].ChiSq    	   = 0.0;
+    output[0].average[Nave].ChiSqAve   	   = 0.0;
+    output[0].average[Nave].ChiSqPM   	   = 0.0;
+    output[0].average[Nave].ChiSqPar   	   = 0.0;
+    output[0].average[Nave].Tmean   	   = 0;
+    output[0].average[Nave].Trange   	   = 0;
     output[0].average[Nave].Npos    	   = 0;
 
