Index: /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/dvosplit.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/dvosplit.c	(revision 33221)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/dvosplit.c	(revision 33222)
@@ -71,5 +71,5 @@
     incatalog.filename = skylist[0].filename[i];
     incatalog.Nsecfilt = GetPhotcodeNsecfilt ();
-    incatalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF | LOAD_MISS;
+    incatalog.catflags = LOAD_NONE;
 
     // an error exit status here is a significant error
Index: /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_averages.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_averages.c	(revision 33221)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_averages.c	(revision 33222)
@@ -26,11 +26,22 @@
   // split out the average & secfilt entries:
   incatalog[0].catflags = LOAD_AVES | LOAD_SECF;
-  Nblocks = incatalog[0].Naves_disk / NROWS;
-  if (incatalog[0].Naves_disk % NROWS) Nblocks ++;
+
+  if (incatalog[0].catmode == DVO_MODE_SPLIT) {
+    Nblocks = incatalog[0].Naves_disk / NROWS;
+    if (incatalog[0].Naves_disk % NROWS) Nblocks ++;
+  } else {
+    Nblocks = 1;
+  }
+
   for (block = 0; block < Nblocks; block++) {
 
-    // read up to NROWS at a time
-    dvo_catalog_load_segment (incatalog, VERBOSE, block*NROWS, NROWS);
-    fprintf (stderr, "splitting %s (averages) .. %d of %d\n", incatalog[0].filename, block, Nblocks);
+    if (incatalog[0].catmode == DVO_MODE_SPLIT) {
+      // read up to NROWS at a time
+      dvo_catalog_load_segment (incatalog, VERBOSE, block*NROWS, NROWS);
+      fprintf (stderr, "splitting %s (averages) .. %d of %d\n", incatalog[0].filename, block, Nblocks);
+    } else {
+      dvo_catalog_load (incatalog, VERBOSE);
+      fprintf (stderr, "splitting %s (averages)\n", incatalog[0].filename);
+    }
 
     assert (block*NROWS == incatalog[0].Naves_off);
Index: /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_measures.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_measures.c	(revision 33221)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/dvosplit/src/split_measures.c	(revision 33222)
@@ -20,11 +20,27 @@
   // split out the measure entries:
   incatalog[0].catflags = LOAD_MEAS;
-  Nblocks = incatalog[0].Nmeas_disk / NROWS;
-  if (incatalog[0].Nmeas_disk % NROWS) Nblocks ++;
+  // if ((incatalog[0].catformat == DVO_FORMAT_ELIXIR) || (incatalog[0].catformat == DVO_FORMAT_LONEOS)) {
+  //   // for these two formats, we need the average and secfilt values around until we do the measures...
+  //   // XXX I am loading these 2x -- perhaps I can make the API smarter about reloading?
+  //   incatalog[0].catflags |= LOAD_AVES | LOAD_SECF; 
+  // }
+
+  if (incatalog[0].catmode == DVO_MODE_SPLIT) {
+    Nblocks = incatalog[0].Nmeas_disk / NROWS;
+    if (incatalog[0].Nmeas_disk % NROWS) Nblocks ++;
+  } else {
+    Nblocks = 1;
+  }
+
   for (block = 0; block < Nblocks; block++) {
 
     // read up to NROWS at a time
-    dvo_catalog_load_segment (incatalog, VERBOSE, block*NROWS, NROWS);
-    fprintf (stderr, "splitting %s (measures) .. %d of %d\n", incatalog[0].filename, block, Nblocks);
+    if (incatalog[0].catmode == DVO_MODE_SPLIT) {
+      dvo_catalog_load_segment (incatalog, VERBOSE, block*NROWS, NROWS);
+      fprintf (stderr, "splitting %s (measures) .. %d of %d\n", incatalog[0].filename, block, Nblocks);
+    } else {
+      dvo_catalog_load (incatalog, VERBOSE);
+      fprintf (stderr, "splitting %s (measures)\n", incatalog[0].filename);
+    }
 
     assert (block*NROWS == incatalog[0].Nmeas_off);
