Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/read_vectors.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 37579)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 37580)
@@ -366,4 +366,13 @@
   }
 
+  // if CharAsVectors, char fields will be saved as vectors NAME:0 -- NAME:n for n characters
+  // else char fields will be saved as $NAME:0 - $NAME:m for m rows
+  // if (Ny > 10000), force CharAsVectors
+  int CharAsVectors = FALSE;
+  if ((N = get_argument (argc, argv, "-char-vectors"))) {
+    remove_argument (N, &argc, argv);
+    CharAsVectors = TRUE;
+  }
+
   // XXX ReadAll needs: deal with Extnum vs Extname, save vectors, etc
   // ReadAll = FALSE;
@@ -465,5 +474,5 @@
     if (!FITS_TRANSPOSE) {
       // read string column into a list rather than a vector
-      if (!strcmp (type, "char")) {
+      if (!strcmp (type, "char") && !CharAsVectors && (Ny < 3000)) {
 	char *fieldName = argv[i];
 	char *Ptr = data;
