Index: /trunk/Ohana/src/libdvo/include/dvo.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/dvo.h	(revision 39358)
+++ /trunk/Ohana/src/libdvo/include/dvo.h	(revision 39359)
@@ -13,5 +13,5 @@
 
 /* DVO table modes */
-typedef enum {DVO_COMPRESS_NONE = 0, DVO_COMPRESS_NONE_1, DVO_COMPRESS_NONE_2, DVO_COMPRESS_AUTO, DVO_COMPRESS_GZIP_1, DVO_COMPRESS_GZIP_2, DVO_COMPRESS_RICE_1} DVOCatCompress; // 
+typedef enum {DVO_COMPRESS_NONE = 0, DVO_COMPRESS_NONE_1, DVO_COMPRESS_NONE_2, DVO_COMPRESS_AUTO, DVO_COMPRESS_AUTO_1, DVO_COMPRESS_AUTO_2, DVO_COMPRESS_GZIP_1, DVO_COMPRESS_GZIP_2, DVO_COMPRESS_RICE_1} DVOCatCompress; // 
 
 /* DVO table formats */
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 39358)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 39359)
@@ -76,4 +76,6 @@
   if (!strcasecmp (catcompress, "NONE"))   return (DVO_COMPRESS_NONE);
   if (!strcasecmp (catcompress, "AUTO"))   return (DVO_COMPRESS_AUTO);
+  if (!strcasecmp (catcompress, "AUTO_1")) return (DVO_COMPRESS_AUTO_1);
+  if (!strcasecmp (catcompress, "AUTO_2")) return (DVO_COMPRESS_AUTO_2);
   if (!strcasecmp (catcompress, "NONE_1")) return (DVO_COMPRESS_NONE_1);
   if (!strcasecmp (catcompress, "NONE_2")) return (DVO_COMPRESS_NONE_2);
@@ -93,4 +95,10 @@
     case DVO_COMPRESS_AUTO:
       compress_string = strcreate("AUTO");
+      break;
+    case DVO_COMPRESS_AUTO_1:
+      compress_string = strcreate("AUTO_1");
+      break;
+    case DVO_COMPRESS_AUTO_2:
+      compress_string = strcreate("AUTO_2");
       break;
     case DVO_COMPRESS_GZIP_1:
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 39358)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 39359)
@@ -1,4 +1,7 @@
 # include <dvo.h>
 # define OHANA_MEMCHECK 0
+
+void gfits_compress_timing ();
+void gfits_uncompress_timing ();
 
 // return options: 
@@ -88,5 +91,5 @@
 }
 
-int dvo_catalog_save_subcat (Catalog *catalog, FTable *ftable, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal) {
+int dvo_catalog_save_subcat (Catalog *catalog, FTable *ftable, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal, int VERBOSE) {
 
   if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
@@ -152,4 +155,5 @@
       return (FALSE);
     }
+    if (VERBOSE) gfits_compress_timing ();
     if (!byteswap_varlength_ftable (&cmpheader, &cmptable)) {
       fprintf (stderr, "failed to swap varlength column\n");
@@ -341,4 +345,5 @@
       return FALSE;
     }
+    if (VERBOSE) gfits_uncompress_timing ();
     if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
 
@@ -929,5 +934,5 @@
     if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
 
-    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing Average table\n");
       goto failure;
@@ -978,5 +983,5 @@
     // write out Measure table
     catalog->measure_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Measure table\n");
       goto failure;
@@ -1007,5 +1012,5 @@
     // write out Missing table (must write out entire table)
     catalog->missing_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing)) {
+    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing, VERBOSE)) {
       fprintf (stderr, "trouble writing Missing Table\n");
       goto failure;
@@ -1044,5 +1049,5 @@
     // write out SecFilt table
     catalog->secfilt_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing SecFilt table\n");
       goto failure;
@@ -1075,5 +1080,5 @@
     // write out Lensing table
     catalog->lensing_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Lensing table\n");
       goto failure;
@@ -1106,5 +1111,5 @@
     // write out Lensobj table
     catalog->lensobj_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Lensobj table\n");
       goto failure;
@@ -1137,5 +1142,5 @@
     // write out StarPar table
     catalog->starpar_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing StarPar table\n");
       goto failure;
@@ -1168,5 +1173,5 @@
     // write out GalPhot table
     catalog->galphot_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing GalPhot table\n");
       goto failure;
@@ -1270,5 +1275,5 @@
     }
 
-    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing Average table\n");
       goto failure;
@@ -1308,5 +1313,5 @@
 
     // write out Measure table
-    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Measure table\n");
       goto failure;
@@ -1331,5 +1336,5 @@
 
     // write out Missing table (must write out entire table)
-    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing)) {
+    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing, VERBOSE)) {
       fprintf (stderr, "trouble writing Missing Table\n");
       goto failure;
@@ -1360,5 +1365,5 @@
 
     // write out SecFilt table
-    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing SecFilt table\n");
       goto failure;
@@ -1388,5 +1393,5 @@
 
       // write out Lensing table
-      if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new)) {
+      if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new, VERBOSE)) {
 	fprintf (stderr, "trouble writing Lensing table\n");
 	goto failure;
@@ -1417,5 +1422,5 @@
 
       // write out Lensobj table
-      if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {
+      if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new, VERBOSE)) {
 	fprintf (stderr, "trouble writing Lensobj table\n");
 	goto failure;
@@ -1446,5 +1451,5 @@
 
       // write out StarPar table
-      if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) {
+      if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new, VERBOSE)) {
 	fprintf (stderr, "trouble writing StarPar table\n");
 	goto failure;
@@ -1475,5 +1480,5 @@
 
       // write out GalPhot table
-      if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new)) {
+      if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new, VERBOSE)) {
 	fprintf (stderr, "trouble writing GalPhot table\n");
 	goto failure;
@@ -1625,5 +1630,5 @@
     if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
 
-    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing Average table\n");
       goto failure;
@@ -1675,5 +1680,5 @@
     // write out Measure table
     catalog->measure_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].measure_catalog, &ftable, start, Nrows, catalog[0].Nmeasure_disk, Nmeasure_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Measure table\n");
       goto failure;
@@ -1707,5 +1712,5 @@
     // write out Missing table (must write out entire table)
     catalog->missing_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing)) {
+    if (!dvo_catalog_save_subcat (catalog[0].missing_catalog, &ftable, 0, catalog[0].Nmissing, catalog[0].Nmissing, catalog[0].Nmissing, VERBOSE)) {
       fprintf (stderr, "trouble writing Missing Table\n");
       goto failure;
@@ -1744,5 +1749,5 @@
     // write out SecFilt table
     catalog->secfilt_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].secfilt_catalog, &ftable, start, Nrows, catalog[0].Nsecfilt_disk, Nsecfilt_disk_new, VERBOSE)) {
       fprintf (stderr, "failure writing SecFilt table\n");
       goto failure;
@@ -1775,5 +1780,5 @@
     // write out Lensing table
     catalog->lensing_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].lensing_catalog, &ftable, start, Nrows, catalog[0].Nlensing_disk, Nlensing_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Lensing table\n");
       goto failure;
@@ -1806,5 +1811,5 @@
     // write out Lensobj table
     catalog->lensobj_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].lensobj_catalog, &ftable, start, Nrows, catalog[0].Nlensobj_disk, Nlensobj_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing Lensobj table\n");
       goto failure;
@@ -1837,5 +1842,5 @@
     // write out StarPar table
     catalog->starpar_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing StarPar table\n");
       goto failure;
@@ -1868,5 +1873,5 @@
     // write out GalPhot table
     catalog->galphot_catalog->catcompress = catalog->catcompress; // XXX this is a bit of a hack, should be done in an api
-    if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new)) {
+    if (!dvo_catalog_save_subcat (catalog[0].galphot_catalog, &ftable, start, Nrows, catalog[0].Ngalphot_disk, Ngalphot_disk_new, VERBOSE)) {
       fprintf (stderr, "trouble writing GalPhot table\n");
       goto failure;
