Index: trunk/Ohana/src/dvomerge/include/dvomerge.h
===================================================================
--- trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 41151)
+++ trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 41152)
@@ -31,5 +31,8 @@
 int    IMAGES_ONLY;
 int    ACCEPT_MOTION;
+
+int    ACCEPT_ASTROM;
 int    RETAIN_AVE_PHOTOMETRY;
+
 char   CATDIR[DVO_MAX_PATH];
 char   GSCFILE[DVO_MAX_PATH];
Index: trunk/Ohana/src/dvomerge/src/args.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/args.c	(revision 41151)
+++ trunk/Ohana/src/dvomerge/src/args.c	(revision 41152)
@@ -112,9 +112,15 @@
   }
 
-  /* limit the impact of a dvomerge -parallel */
+  /* accept input database average astrometry motions */
   ACCEPT_MOTION = FALSE;
   if ((N = get_argument (*argc, argv, "-accept-motion"))) {
     remove_argument (N, argc, argv);
     ACCEPT_MOTION = TRUE;
+  }
+  /* accept input database average astrometry information */
+  ACCEPT_ASTROM = FALSE;
+  if ((N = get_argument (*argc, argv, "-accept-astrom"))) {
+    remove_argument (N, argc, argv);
+    ACCEPT_ASTROM = TRUE;
   }
 
@@ -337,9 +343,15 @@
   }
 
-  /* limit the impact of a dvomerge -parallel */
+  /* accept input database average astrometry motions */
   ACCEPT_MOTION = FALSE;
   if ((N = get_argument (*argc, argv, "-accept-motion"))) {
     remove_argument (N, argc, argv);
     ACCEPT_MOTION = TRUE;
+  }
+  /* accept input database average astrometry information */
+  ACCEPT_ASTROM = FALSE;
+  if ((N = get_argument (*argc, argv, "-accept-astrom"))) {
+    remove_argument (N, argc, argv);
+    ACCEPT_ASTROM = TRUE;
   }
 
Index: trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 41151)
+++ trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 41152)
@@ -328,4 +328,5 @@
     if (FORCE_MERGE)           { strextend (&command, "-force-merge"); }
     if (ACCEPT_MOTION)         { strextend (&command, "-accept-motion"); }
+    if (ACCEPT_ASTROM)         { strextend (&command, "-accept-astrom"); }
     if (RETAIN_AVE_PHOTOMETRY) { strextend (&command, "-retain-ave-photometry"); }
     if (MATCHED_TABLES)        { strextend (&command, "-matched-tables"); }
Index: trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 41151)
+++ trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 41152)
@@ -363,4 +363,5 @@
     }
 
+    // XXX: add choice of secfilt
     // update the average properties to reflect the incoming entries:
     // if RETAIN_AVE_PHOTOMETRY is true and the original value is NAN, but the input value is not, accept the input:
@@ -389,5 +390,5 @@
 
     // we can choose to accept the proper-motion and parallax from the reference tgtcat
-    if (ACCEPT_MOTION) {
+    if (ACCEPT_MOTION || ACCEPT_ASTROM) {
       output[0].average[n].dR         = input[0].average[N].dR;
       output[0].average[n].dD         = input[0].average[N].dD;
@@ -400,4 +401,8 @@
       output[0].average[n].Tmean      = input[0].average[N].Tmean;
     }
+    if (ACCEPT_ASTROM) {
+      output[0].average[n].R          = input[0].average[N].R;
+      output[0].average[n].D          = input[0].average[N].D;
+    }
 
     /* Nm is updated, but not written out in -update mode (for existing entries)
@@ -461,5 +466,5 @@
 
     // we can choose to accept the proper-motion and parallax from the reference tgtcat
-    if (ACCEPT_MOTION) {
+    if (ACCEPT_MOTION || ACCEPT_ASTROM) {
       output[0].average[Nave].dR         = input[0].average[N].dR;
       output[0].average[Nave].dD         = input[0].average[N].dD;
@@ -471,4 +476,8 @@
       output[0].average[Nave].dP         = input[0].average[N].dP;
       output[0].average[Nave].Tmean      = input[0].average[N].Tmean;
+    }
+    if (ACCEPT_ASTROM) {
+      output[0].average[Nave].R          = input[0].average[N].R;
+      output[0].average[Nave].D          = input[0].average[N].D;
     }
 
