Index: /branches/eam_branches/ohana.20150429/src/libdvo/include/dvo.h
===================================================================
--- /branches/eam_branches/ohana.20150429/src/libdvo/include/dvo.h	(revision 38413)
+++ /branches/eam_branches/ohana.20150429/src/libdvo/include/dvo.h	(revision 38414)
@@ -13,5 +13,5 @@
 
 /* DVO table modes */
-typedef enum {DVO_COMPRESS_NONE = 0, 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_GZIP_1, DVO_COMPRESS_GZIP_2, DVO_COMPRESS_RICE_1} DVOCatCompress; // 
 
 /* DVO table formats */
Index: /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog.c
===================================================================
--- /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog.c	(revision 38413)
+++ /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog.c	(revision 38414)
@@ -76,4 +76,6 @@
   if (!strcasecmp (catcompress, "NONE"))   return (DVO_COMPRESS_NONE);
   if (!strcasecmp (catcompress, "AUTO"))   return (DVO_COMPRESS_AUTO);
+  if (!strcasecmp (catcompress, "NONE_1")) return (DVO_COMPRESS_NONE_1);
+  if (!strcasecmp (catcompress, "NONE_2")) return (DVO_COMPRESS_NONE_2);
   if (!strcasecmp (catcompress, "GZIP_1")) return (DVO_COMPRESS_GZIP_1);
   if (!strcasecmp (catcompress, "GZIP_2")) return (DVO_COMPRESS_GZIP_2);
@@ -98,4 +100,10 @@
     case DVO_COMPRESS_GZIP_2:
       strcpy (compress_string, "GZIP_2");
+      break;
+    case DVO_COMPRESS_NONE_1:
+      strcpy (compress_string, "NONE_1");
+      break;
+    case DVO_COMPRESS_NONE_2:
+      strcpy (compress_string, "NONE_2");
       break;
     case DVO_COMPRESS_RICE_1:
@@ -527,4 +535,11 @@
 }
 
+# define INIT_TABLE(TABLE)			\
+  catalog[0].TABLE = NULL;			\
+  catalog[0].N##TABLE = 0;			\
+  catalog[0].N##TABLE##_disk = 0;		\
+  catalog[0].N##TABLE##_off  = 0;		\
+  catalog[0].TABLE##_catalog  = NULL;
+
 // init all data, or just catalog data
 void dvo_catalog_init (Catalog *catalog, int complete) {
@@ -544,60 +559,32 @@
 
   gfits_init_header (&catalog[0].header);
-
+  
   // the following describe the catalog files on disk
   catalog[0].average = NULL;
-  catalog[0].measure = NULL; 
-  catalog[0].missing = NULL; 
+  catalog[0].Naverage = 0;
+  catalog[0].Naverage_disk = 0;
+  catalog[0].Naverage_off  = 0;
+  // average lacks average_catalog
+
   catalog[0].secfilt = NULL;
-  
-  catalog[0].lensing = NULL; 
-  catalog[0].lensobj = NULL; 
-
-  catalog[0].starpar = NULL; 
+  catalog[0].Nsecfilt_mem = 0;
+  catalog[0].Nsecfilt_disk = 0;
+  catalog[0].Nsecfilt_off  = 0;
+  catalog[0].secfilt_catalog = NULL;
+  // secfilt uses Nsecfilt_mem not Nsecfilt
 
   catalog[0].averageT = NULL;
   catalog[0].measureT = NULL; 
+
+  INIT_TABLE(measure);
+  INIT_TABLE(missing);
+  INIT_TABLE(lensing);
+  INIT_TABLE(lensobj);
+  INIT_TABLE(starpar);
+  INIT_TABLE(galshape);
 
   catalog[0].objID = 0;
   catalog[0].catID = 0;
   catalog[0].sorted = 0;
-
-  catalog[0].Naverage = 0;
-  catalog[0].Nmeasure = 0;
-  catalog[0].Nmissing = 0;
-  catalog[0].Nsecfilt_mem = 0;
-
-  catalog[0].Nlensing = 0;
-  catalog[0].Nlensobj = 0;
-
-  catalog[0].Nstarpar = 0;
-
-  catalog[0].Naverage_disk = 0;
-  catalog[0].Nmeasure_disk = 0;
-  catalog[0].Nmissing_disk = 0;
-  catalog[0].Nsecfilt_disk = 0;
-
-  catalog[0].Nlensing_disk = 0;
-  catalog[0].Nlensobj_disk = 0;
-
-  catalog[0].Nstarpar_disk = 0;
-
-  catalog[0].Naverage_off  = 0;
-  catalog[0].Nmeasure_off  = 0;
-  catalog[0].Nmissing_off  = 0;
-  catalog[0].Nsecfilt_off  = 0;
-
-  catalog[0].Nlensing_off  = 0;
-  catalog[0].Nlensobj_off  = 0;
-
-  catalog[0].Nstarpar_off  = 0;
-
-  /* pointers to SPLIT data files */
-  catalog[0].measure_catalog = NULL;
-  catalog[0].missing_catalog = NULL;
-  catalog[0].secfilt_catalog = NULL;
-  catalog[0].lensing_catalog = NULL;
-  catalog[0].lensobj_catalog = NULL;
-  catalog[0].starpar_catalog = NULL;
 
   /* pointers for data manipulation */
Index: /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_split.c	(revision 38413)
+++ /branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_split.c	(revision 38414)
@@ -1,3 +1,4 @@
 # include <dvo.h>
+# define OHANA_MEMCHECK 0
 
 // return options: 
@@ -81,6 +82,6 @@
 
   Matrix matrix;
-
-  // ohana_memcheck_func (TRUE);
+  
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
   
   /* rewind file pointers and truncate (file is still open) */
@@ -117,8 +118,10 @@
   int isCompressed = output_is_compressed (start, Nrows, Ntotal, catalog->catcompress);
 
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
   if (isCompressed) {
     fprintf (stderr, "compress %s\n", catalog->filename);
     char *compressMode = dvo_catalog_compress_string (catalog->catcompress);
-    if (!gfits_compress_table (ftable, &cmptable, 10, compressMode)) {
+    if (!gfits_compress_table (ftable, &cmptable, 0, compressMode)) {
       fprintf (stderr, "compression failure\n");
       return (FALSE);
@@ -130,4 +133,6 @@
     outtable = &cmptable;
   }
+
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
   // write the table data
@@ -148,4 +153,6 @@
   }
   fullsize += outtable->datasize + outtable->header->datasize;
+
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
   // since we init'ed the structures above, these operations are safe whether or not we compressed the table
