Index: trunk/Ohana/src/opihi/cmd.data/read_vectors.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 39359)
+++ trunk/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 39360)
@@ -2,4 +2,5 @@
 int dump_raw_table (FTable *table, char *message);
 int dump_cmp_table (FTable *table, char *message);
+void gfits_uncompress_timing ();
 
 FILE *f = (FILE *) NULL;
@@ -594,4 +595,6 @@
     }
     if (!gfits_uncompress_table (&table, &rawtable)) ESCAPE ("failed to uncompress table\n");
+    gfits_uncompress_timing ();
+
     dump_raw_table (&rawtable, "rd raw");
 
Index: trunk/Ohana/src/opihi/cmd.data/write_vectors.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/write_vectors.c	(revision 39359)
+++ trunk/Ohana/src/opihi/cmd.data/write_vectors.c	(revision 39360)
@@ -74,4 +74,11 @@
       fprintf (stderr, "NOTE: write_vectors -compress has no effect on non-FITS\n");
     }
+  }
+
+  int Ntile = 0;
+  if ((N = get_argument (argc, argv, "-compress-Ntile"))) {
+    remove_argument (N, &argc, argv);
+    Ntile = atoi(argv[N]);
+    remove_argument (N, &argc, argv);
   }
 
@@ -117,5 +124,5 @@
 
   if (FITS) {
-    int status = WriteVectorTableFITS (argv[1], FITS, vec, Nvec, append, compress, format);
+    int status = WriteVectorTableFITS (argv[1], FITS, vec, Nvec, append, compress, format, Ntile);
     free (vec);
     return status;
Index: trunk/Ohana/src/opihi/dvo/avextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avextract.c	(revision 39359)
+++ trunk/Ohana/src/opihi/dvo/avextract.c	(revision 39360)
@@ -262,5 +262,5 @@
   // write vectors to a table (this is used by parallel dvo operations, but can be used elsewhere)
   if (RESULT_FILE && !SKIP_RESULTS) {
-    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nreturn, FALSE, FALSE, NULL);
+    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nreturn, FALSE, FALSE, NULL, 0);
     if (!status) {
       goto escape;
Index: trunk/Ohana/src/opihi/dvo/avmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 39359)
+++ trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 39360)
@@ -115,5 +115,5 @@
 
       CoordsFile = abspath("coords.fits", 1024);
-      int status = WriteVectorTableFITS (CoordsFile, "COORDS", vec, 2, FALSE, FALSE, NULL);
+      int status = WriteVectorTableFITS (CoordsFile, "COORDS", vec, 2, FALSE, FALSE, NULL, 0);
       if (!status) goto escape;
     }
@@ -304,5 +304,5 @@
       vec[i][0].Nelements = Nfound;
     }
-    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nfields + 1, FALSE, FALSE, NULL);
+    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nfields + 1, FALSE, FALSE, NULL, 0);
     free (vec[Nfields]->elements.Int);
     free (vec[Nfields]);
Index: trunk/Ohana/src/opihi/dvo/dvo_host_utils.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dvo_host_utils.c	(revision 39359)
+++ trunk/Ohana/src/opihi/dvo/dvo_host_utils.c	(revision 39360)
@@ -230,5 +230,5 @@
   // write vectors to a table (this is used by parallel dvo operations, but can be used elsewhere)
   if (ResultFile) {
-    int status = WriteVectorTableFITS (ResultFile, "RESULT", vec, Nvec, FALSE, FALSE, NULL);
+    int status = WriteVectorTableFITS (ResultFile, "RESULT", vec, Nvec, FALSE, FALSE, NULL, 0);
     if (!status) {
       gprint (GP_ERR, "failed to write result file %s\n", ResultFile);
Index: trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mextract.c	(revision 39359)
+++ trunk/Ohana/src/opihi/dvo/mextract.c	(revision 39360)
@@ -321,5 +321,5 @@
   // write vectors to a table (this is used by parallel dvo operations, but can be used elsewhere)
   if (RESULT_FILE && !SKIP_RESULTS) {
-    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nreturn, FALSE, FALSE, NULL);
+    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nreturn, FALSE, FALSE, NULL, 0);
     if (!status) goto escape;
   }
Index: trunk/Ohana/src/opihi/dvo/mmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mmatch.c	(revision 39359)
+++ trunk/Ohana/src/opihi/dvo/mmatch.c	(revision 39360)
@@ -150,5 +150,5 @@
       // XXX this is now set for both cases...
       CoordsFile = abspath("coords.fits", 1024);
-      int status = WriteVectorTableFITS (CoordsFile, "COORDS", vec, 2, FALSE, FALSE, NULL);
+      int status = WriteVectorTableFITS (CoordsFile, "COORDS", vec, 2, FALSE, FALSE, NULL, 0);
       if (!status) goto escape;
     }
@@ -350,5 +350,5 @@
       vec[Nfields-1] = IDXvec;
     }
-    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nfields, FALSE, FALSE, NULL);
+    int status = WriteVectorTableFITS (RESULT_FILE, "RESULT", vec, Nfields, FALSE, FALSE, NULL, 0);
     if (!status) goto escape;
   }
Index: trunk/Ohana/src/opihi/include/dvomath.h
===================================================================
--- trunk/Ohana/src/opihi/include/dvomath.h	(revision 39359)
+++ trunk/Ohana/src/opihi/include/dvomath.h	(revision 39360)
@@ -168,5 +168,5 @@
 
 /* vector IO functions */
-int           WriteVectorTableFITS  PROTO((char *filename, char *extname, Vector **vec, int Nvec, int append, char *compress, char *format));
+int           WriteVectorTableFITS  PROTO((char *filename, char *extname, Vector **vec, int Nvec, int append, char *compress, char *format, int Ntile));
 Vector      **ReadVectorTableFITS   PROTO((char *filename, char *extname, int *Nvec));
 
Index: trunk/Ohana/src/opihi/lib.shell/VectorIO.c
===================================================================
--- trunk/Ohana/src/opihi/lib.shell/VectorIO.c	(revision 39359)
+++ trunk/Ohana/src/opihi/lib.shell/VectorIO.c	(revision 39360)
@@ -1,3 +1,4 @@
 # include "opihi.h"
+void gfits_compress_timing ();
   
 // write a set of vectors to a FITS FTable structure (vectors names become fits column names)
@@ -103,5 +104,5 @@
 
 // write a set of vectors to a FITS file (vectors names become fits column names)
-int WriteVectorTableFITS (char *filename, char *extname, Vector **vec, int Nvec, int append, char *compress, char *format) {
+int WriteVectorTableFITS (char *filename, char *extname, Vector **vec, int Nvec, int append, char *compress, char *format, int Ntile) {
   
   Header rawheader;
@@ -140,5 +141,6 @@
 
     dump_raw_table (&rawtable, "wd raw");
-    if (!gfits_compress_table (&rawtable, &cmptable, 0, compress)) goto escape;
+    if (!gfits_compress_table (&rawtable, &cmptable, Ntile, compress)) goto escape;
+    gfits_compress_timing ();
 
     int i, Nfields;
