Index: /trunk/Ohana/src/opihi/cmd.astro/objload.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.astro/objload.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/cmd.astro/objload.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define CHAR_LINE 104
 # define NBLOCK 100
Index: /trunk/Ohana/src/opihi/dvo/ImageOps.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/ImageOps.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/ImageOps.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 void image_subset (Image *image, int Nimage, int **Subset, int *Nsubset,
Index: /trunk/Ohana/src/opihi/dvo/ImageSelection.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/ImageSelection.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/ImageSelection.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* db image table */
Index: /trunk/Ohana/src/opihi/dvo/LoadImages.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/LoadImages.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/LoadImages.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 Image *LoadImages (int *nimage) {
Index: /trunk/Ohana/src/opihi/dvo/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/dvo/Makefile	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/Makefile	(revision 7680)
@@ -57,4 +57,5 @@
 $(SDIR)/elixir.$(ARCH).o                \
 $(SDIR)/fitcolors.$(ARCH).o             \
+$(SDIR)/fitsed.$(ARCH).o                \
 $(SDIR)/gcat.$(ARCH).o		  	\
 $(SDIR)/gimages.$(ARCH).o	  	\
@@ -99,5 +100,5 @@
 help: cmd.basic.help cmd.data.help cmd.astro.help dvo.help
 
-$(funcs) $(cmds) $(libs) : $(INC)/dvo1.h
+$(funcs) $(cmds) $(libs) : $(INC)/dvoshell.h
 
 .PHONY: dvo
Index: /trunk/Ohana/src/opihi/dvo/addxtra.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/addxtra.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/addxtra.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 typedef struct {
Index: /trunk/Ohana/src/opihi/dvo/aregion.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/aregion.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/aregion.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # include "hstgsc.h"
 
Index: /trunk/Ohana/src/opihi/dvo/avextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/avextract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/avextract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int avextract (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/badimages.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/badimages.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/badimages.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 static int badim_int = FALSE;
Index: /trunk/Ohana/src/opihi/dvo/calextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/calextract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/calextract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 enum {Nd, Nm, NC, NR, ND, Np, Nc, Nt, Nx, Nd1, Nd2, NVEC};
Index: /trunk/Ohana/src/opihi/dvo/calmextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 enum {Nd, Nm1, Nm2, Nc, Ns, Nt, Nz, NR, ND, Nxc, Nyc, Nxm, Nym, NT, NP, Nd1, Nd2, NVEC};
Index: /trunk/Ohana/src/opihi/dvo/catalog.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/catalog.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/catalog.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define NBYTES 160000
 # define BYTES_STAR 23
Index: /trunk/Ohana/src/opihi/dvo/catdir.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/catdir.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/catdir.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int catdir_define (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/ccd.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/ccd.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/ccd.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int ccd (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/cmatch.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int cmatch (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/cmd.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmd.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/cmd.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int cmd (int argc, char **argv) { /* really need to think about upper limits & how to represent them */
Index: /trunk/Ohana/src/opihi/dvo/cmpRead.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmpRead.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/cmpRead.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define D_NSTARS 1000
 # define BYTES_STAR 66
Index: /trunk/Ohana/src/opihi/dvo/cmpload.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmpload.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/cmpload.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define D_NSTARS 1000
 # define BYTES_STAR 66
Index: /trunk/Ohana/src/opihi/dvo/cmpread.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmpread.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/cmpread.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* add others as needed */
Index: /trunk/Ohana/src/opihi/dvo/compare.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/compare.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/compare.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define D_NMATCH 500;
 
Index: /trunk/Ohana/src/opihi/dvo/ddmags.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/ddmags.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/ddmags.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int ddmags (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/detrend.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/detrend.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/detrend.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* qualities to be extracted */
Index: /trunk/Ohana/src/opihi/dvo/dmagaves.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dmagaves.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dmagaves.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int dmagaves (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/dmagmeas.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dmagmeas.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dmagmeas.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int dmagmeas (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/dmags.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dmags.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dmags.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int dmags (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/dmt.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dmt.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dmt.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* extract vectors giving delta mags for multiple measurements */ 
Index: /trunk/Ohana/src/opihi/dvo/dvo.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dvo.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dvo.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 # define opihi_name "DVO"
Index: /trunk/Ohana/src/opihi/dvo/dvomisc.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/dvomisc.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/dvomisc.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 void cprecess (Average *average, int Naverage, double in_epoch, double out_epoch) {
Index: /trunk/Ohana/src/opihi/dvo/elixir.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/elixir.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/elixir.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int WriteMsg (char *fifo, char *message);
Index: /trunk/Ohana/src/opihi/dvo/extract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/extract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/extract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 // XXX EAM : this function is deprecated
 
Index: /trunk/Ohana/src/opihi/dvo/find_regions.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/find_regions.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/find_regions.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # include "hstgsc.h"
 
Index: /trunk/Ohana/src/opihi/dvo/fitcolors.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 7680)
@@ -1,7 +1,7 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define NMIN_PTS 100
 
-void init_catalog (Catalog *catalog);
-void free_catalog (Catalog *catalog, int Ncatalog);
+static void init_catalog (Catalog *catalog);
+static void free_catalog (Catalog *catalog, int Ncatalog);
 
 /* this function takes a photcode (and camera name?) and measures the  *
@@ -394,5 +394,5 @@
 }
 
-void free_catalog (Catalog *catalog, int Ncatalog) {
+static void free_catalog (Catalog *catalog, int Ncatalog) {
 
   int i;
@@ -407,5 +407,5 @@
 }
 
-void init_catalog (Catalog *catalog) {
+static void init_catalog (Catalog *catalog) {
   catalog[0].average = NULL; 
   catalog[0].secfilt = NULL;
Index: /trunk/Ohana/src/opihi/dvo/gcat.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/gcat.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/gcat.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int gcat (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/get_regions.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/get_regions.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/get_regions.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* return region files containing given image */
Index: /trunk/Ohana/src/opihi/dvo/getxtra.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/getxtra.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/getxtra.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int getxtra (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/gimages.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/gimages.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/gimages.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int gimages (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/gstar.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/gstar.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 void print_value (FILE *f, double value, short int ival);
Index: /trunk/Ohana/src/opihi/dvo/images.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/images.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/images.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int images (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imbox.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imbox.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imbox.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imbox (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imdata.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imdata.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imdata.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imdata (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imdense.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imdense.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imdense.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 extern double drand48();
 
Index: /trunk/Ohana/src/opihi/dvo/imextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imextract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imextract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 enum {ZERO, RA, DEC, Xm, AIRMASS, MCAL, dMCAL, PHOTCODE, TIME, FWHM, EXPTIME, NSTAR, SKY, NCAL, FLAG};
Index: /trunk/Ohana/src/opihi/dvo/imlist.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imlist.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imlist.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imlist (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imphot.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imphot.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imphot.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imphot (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imrough.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imrough.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imrough.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 RegImage *load_imreg (char *DataBase, int *nimage);
 
Index: /trunk/Ohana/src/opihi/dvo/imsearch.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imsearch.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imsearch.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imsearch (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/imstats.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/imstats.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/imstats.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int imstats (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/init.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/init.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/init.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int avextract	    PROTO((int, char **));
@@ -20,4 +20,5 @@
 int elixir          PROTO((int, char **));
 int fitcolors       PROTO((int, char **));
+int fitsed          PROTO((int, char **));
 int gcat	    PROTO((int, char **));
 int getxtra	    PROTO((int, char **));
@@ -76,4 +77,5 @@
   {"elixir",      elixir,       "talk to elixir"},
   {"fitcolors",   fitcolors,    "fit chip-to-chip color terms"},
+  {"fitsed",      fitsed,       "fit stellar SEDs to objects"},
   {"gcat",    	  gcat,         "get catalog at location"},
   {"gimages", 	  gimages,      "get images at location"},
Index: /trunk/Ohana/src/opihi/dvo/lcat.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/lcat.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/lcat.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int lcat (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/lcurve.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/lcurve.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/lcurve.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int lcurve (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/lightcurve.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/lightcurve.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/lightcurve.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int lightcurve (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/match_image.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/match_image.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/match_image.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int match_image (Image *image, int Nimage, unsigned int T, short int S) {
Index: /trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/mextract.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/mextract.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int mextract (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/pcat.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/pcat.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/pcat.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 int RD_to_XYpic (double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside);
 
Index: /trunk/Ohana/src/opihi/dvo/photcodes.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/photcodes.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/photcodes.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* list or return all photcodes equivalent to the given filter */
Index: /trunk/Ohana/src/opihi/dvo/photometry.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/photometry.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/photometry.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* match code to measure  */
Index: /trunk/Ohana/src/opihi/dvo/pmeasure.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/pmeasure.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/pmeasure.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int pmeasure (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/procks.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/procks.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/procks.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 typedef struct {
Index: /trunk/Ohana/src/opihi/dvo/region_list.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/region_list.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/region_list.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 /* XXX note : for RegionName or RegionList, we need to free the skylist
Index: /trunk/Ohana/src/opihi/dvo/showtile.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/showtile.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/showtile.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 static float dr[] = {0.0, 1.0, 1.0, 0.0};
 static float dd[] = {0.0, 0.0, 1.0, 1.0};
Index: /trunk/Ohana/src/opihi/dvo/simage.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/simage.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/simage.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 # define D_NSTARS 1000
 # define BYTES_STAR 31
Index: /trunk/Ohana/src/opihi/dvo/skycat.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/skycat.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/skycat.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int RD_to_XYpic (double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside);
Index: /trunk/Ohana/src/opihi/dvo/skycoverage.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/skycoverage.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/skycoverage.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int skycoverage (int argc, char **argv) {
Index: /trunk/Ohana/src/opihi/dvo/subpix.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/subpix.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/subpix.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 
 int bracket (double *list, double value, int Nlist, int mode);
Index: /trunk/Ohana/src/opihi/dvo/version.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/version.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/dvo/version.c	(revision 7680)
@@ -1,3 +1,3 @@
-# include "dvo1.h"
+# include "dvoshell.h"
 static char *name = "$Name: not supported by cvs2svn $";
 
Index: /trunk/Ohana/src/opihi/include/data.h
===================================================================
--- /trunk/Ohana/src/opihi/include/data.h	(revision 7679)
+++ /trunk/Ohana/src/opihi/include/data.h	(revision 7680)
@@ -120,4 +120,5 @@
 /* graphtools.c */
 void          SetLimits             PROTO((Vector *xvec, Vector *yvec, Graphdata *graphmode));
+void          SetLimitsRaw          PROTO((float *xvec, float *yvec, int Npts, Graphdata *graphmode));
 void          ApplyLimits           PROTO((int Xgraph, Graphdata *graphmode, int apply));
 int           style_args            PROTO((Graphdata *graphmode, int *argc, char **argv, int Nforce));
Index: unk/Ohana/src/opihi/include/dvo1.h
===================================================================
--- /trunk/Ohana/src/opihi/include/dvo1.h	(revision 7679)
+++ 	(revision )
@@ -1,98 +1,0 @@
-# include "data.h"
-# include "basic.h"
-# include "astro.h"
-
-# ifndef DVO1_H
-# define DVO1_H
-
-/* magnitude types */
-enum {MAG_NONE, MAG_INST, MAG_CAT, MAG_SYS, MAG_REL, MAG_CAL, MAG_AVE, MAG_REF};
-
-/* measure params */
-enum {MEAS_ZERO, MEAS_RA, MEAS_DEC, MEAS_MAG, MEAS_dMAG, MEAS_MINST, MEAS_MCAT, 
-      MEAS_MSYS, MEAS_MREL, MEAS_MCAL, MEAS_PHOTCODE, MEAS_TIME, MEAS_dR, MEAS_dD, 
-      MEAS_FWHM, MEAS_DOPHOT, MEAS_XCCD, MEAS_YCCD, MEAS_XMOSAIC, MEAS_YMOSAIC, MEAS_FLAGS, MEAS_EXPTIME, MEAS_AIRMASS};
-
-/* average params */
-enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_RA_ERR, AVE_DEC_ERR, AVE_U_RA, AVE_U_DEC, 
-      AVE_U_RA_ERR, AVE_U_DEC_ERR, AVE_PAR, AVE_PAR_ERR, AVE_MAG, AVE_REF, AVE_dMAG, 
-      AVE_Xm, AVE_Xp, AVE_NMEAS, AVE_NMISS, AVE_TYPE, AVE_NPHOT, AVE_NCODE, AVE_NCRIT, 
-      AVE_FLAG, AVE_TYPEFRAC};
-
-typedef struct {
-  char name[64];
-  double RA0, RA1, DEC0, DEC1;
-} RegionFile;
-
-typedef struct {
-  double X;
-  double Y;
-  double R;
-  double D;
-  double M, dM;
-  char   dophot;
-  double sky;
-  double fx, fy, df;
-  double Mgal, Map;
-  int found;
-  short int code;
-  e_time t;
-} CMPstars;
-
-/*** dvo prototypes ***/
-int           DetermineTypeCode     PROTO((Average *average, Measure *measure, int code));
-double        DetermineTypefrac     PROTO((Average *average, Measure *measure, PhotCode *code));
-double        ExtractAverages       PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int param));
-double       *ExtractByDMag         PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
-double       *ExtractDMag           PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));
-double       *ExtractMagnitudes     PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *n));
-double       *ExtractMeasures       PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
-double       *ExtractMeasuresByDMag PROTO((PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
-double       *ExtractMeasuresDMag   PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));
-void          FreeImageSelection    PROTO(());
-void          FreeImageSelection    PROTO(());
-int           GetAverageParam       PROTO((char *parname));
-void          GetAverageParamHelp   PROTO(());
-int           GetMagMode            PROTO((char *string));
-double        GetMeasure            PROTO((int param, Average *average, Measure *measure, double mag));
-int           GetMeasureParam       PROTO((char *parname));
-int           GetMeasureTypeCode    PROTO((Measure *measure));
-int           GetPhotcodeInfo       PROTO((char *string, PhotCode **Code, int *Mode));
-int           GetSelectionParam     PROTO(());
-int           GetTimeSelection      PROTO((time_t *tz, time_t *te));
-void          InitDVO               PROTO(());
-int           InitPhotcodes         PROTO(());
-Image        *LoadImages            PROTO((int *Nimage));
-Image        *MatchImage            PROTO((unsigned int time, short int source));
-Image        *MatchImage            PROTO((unsigned int time, short int source));
-Coords       *MatchMosaic           PROTO((unsigned int time, short int source));
-int           Quality               PROTO((Measure *measure, int IsDophot));
-int           SelectMags            PROTO((int Nphot, int Tphot, int Ns, Average *average, Measure *measure, SecFilt *secfilt, int UL));
-
-SkyList      *SelectRegions         PROTO((char *RegionName, char *RegionList));
-SkyList      *SkyListLoadFile       PROTO((char *filename));
-int           SetCATDIR             PROTO((char *path, int verbose));
-char *        GetCATDIR             PROTO(());
-SkyTable     *GetSkyTable           PROTO(());
-SkyList      *SkyListFromFile       PROTO((char *filename));
-int           SetRegionSelection    PROTO((int *argc, char **argv, char **RegionName, char **RegionList));
-
-int           SetImageSelection     PROTO((int mode, int RegionSelect));
-int           SetPhotSelections     PROTO((int *argc, char **argv, int Nparams));
-int           SetSelectionParam     PROTO((int param));
-int           TestAverage           PROTO((PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure));
-int           TestPhotSelections    PROTO((PhotCode **code, int *mode, int param));
-void          compare               PROTO((Catalog *catlog1, Catalog *catlog2, Vector *rvec,  Vector *dvec,  Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius));
-void          cprecess              PROTO((Average *average, int Naverage, double in_epoch, double out_epoch));
-void          image_subset          PROTO((Image *image, int Nimage, int **Subset, int *Nsubset, Graphdata *graph, int RegionSelect, unsigned long int tzero, double trange, int TimeSelect));
-int           match_image           PROTO((Image *image, int Nimage, unsigned int T, short int S));
-int           match_image_subset    PROTO((Image *image, int *subset, int Nsubset, unsigned int T, short int S));
-void          print_value           PROTO((FILE *f, double value, short int ival));
-void          sort_image_subset     PROTO((Image *image, int *subset, int N));
-void          sort_images           PROTO((Image *image, int N));
-void          sortave               PROTO((Average *ave, int N));
-CMPstars     *cmpReadFits           PROTO((FILE *f, int *nstars));
-CMPstars     *cmpReadText           PROTO((FILE *f, int *nstars));
-int           RD_to_XYpic           PROTO((double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside));
-
-# endif
Index: unk/Ohana/src/opihi/include/dvo2.h
===================================================================
--- /trunk/Ohana/src/opihi/include/dvo2.h	(revision 7679)
+++ 	(revision )
@@ -1,45 +1,0 @@
-# include "astro.h"
-
-# ifndef DVO2_H
-# define DVO2_H
-
-typedef struct {
-  float r, d;
-} SkyCoord;
-
-typedef struct {
-  int Nregion;
-  SkyRegion *region;
-} SkyTable;
-
-typedef struct {
-  int Nregion;
-  SkyRegion **region;
-} SkyList;
-
-# if (0)
-typedef struct {
-  float Rmin, Rmax;
-  float Dmin, Dmax;
-  int   childS, childE, parent;
-  char  depth, child;
-  char  object, image;
-  char  name[24];
-} SkyRegion; /* 48 bytes */ 
-# endif
-
-SkyRegion *SkyFindPoint (SkyRegion *db, SkyCoord c, int depth);
-SkyRegion **SkyFindLevels (SkyRegion *db, SkyCoord c, int *Nregion);
-SkyRegion **SkyFindArea (SkyRegion *db, SkyCoord c1, SkyCoord c2, int *nlist);
-SkyRegion *SkyFindAreaDB (SkyRegion *db, SkyRegion *ref, SkyCoord c1, SkyCoord c2, int *Nregion);
-
-SkyRegion *SkyMakeRegions (int Nlevels, int *nlist);
-SkyRegion *SkyDivideRegions (SkyRegion *parents, int *N);
-SkyRegion *SkyDivideBiggest (SkyRegion *list, int *nlist);
-SkyRegion *SkyDivide (SkyRegion *in);
-
-SkyRegionTable *SkyBuildTable (SkyRegion *seed, int Nseed);
-SkyRegion *SkyRegionsFromGSC (char *filename, int *nregions);
-int FindDecBand (double dec, double *DEC0, double *DEC1);
-
-# endif
Index: /trunk/Ohana/src/opihi/include/dvoshell.h
===================================================================
--- /trunk/Ohana/src/opihi/include/dvoshell.h	(revision 7680)
+++ /trunk/Ohana/src/opihi/include/dvoshell.h	(revision 7680)
@@ -0,0 +1,98 @@
+# include "data.h"
+# include "basic.h"
+# include "astro.h"
+
+# ifndef DVOSHELL_H
+# define DVOSHELL_H
+
+/* magnitude types */
+enum {MAG_NONE, MAG_INST, MAG_CAT, MAG_SYS, MAG_REL, MAG_CAL, MAG_AVE, MAG_REF};
+
+/* measure params */
+enum {MEAS_ZERO, MEAS_RA, MEAS_DEC, MEAS_MAG, MEAS_dMAG, MEAS_MINST, MEAS_MCAT, 
+      MEAS_MSYS, MEAS_MREL, MEAS_MCAL, MEAS_PHOTCODE, MEAS_TIME, MEAS_dR, MEAS_dD, 
+      MEAS_FWHM, MEAS_DOPHOT, MEAS_XCCD, MEAS_YCCD, MEAS_XMOSAIC, MEAS_YMOSAIC, MEAS_FLAGS, MEAS_EXPTIME, MEAS_AIRMASS};
+
+/* average params */
+enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_RA_ERR, AVE_DEC_ERR, AVE_U_RA, AVE_U_DEC, 
+      AVE_U_RA_ERR, AVE_U_DEC_ERR, AVE_PAR, AVE_PAR_ERR, AVE_MAG, AVE_REF, AVE_dMAG, 
+      AVE_Xm, AVE_Xp, AVE_NMEAS, AVE_NMISS, AVE_TYPE, AVE_NPHOT, AVE_NCODE, AVE_NCRIT, 
+      AVE_FLAG, AVE_TYPEFRAC};
+
+typedef struct {
+  char name[64];
+  double RA0, RA1, DEC0, DEC1;
+} RegionFile;
+
+typedef struct {
+  double X;
+  double Y;
+  double R;
+  double D;
+  double M, dM;
+  char   dophot;
+  double sky;
+  double fx, fy, df;
+  double Mgal, Map;
+  int found;
+  short int code;
+  e_time t;
+} CMPstars;
+
+/*** dvo prototypes ***/
+int           DetermineTypeCode     PROTO((Average *average, Measure *measure, int code));
+double        DetermineTypefrac     PROTO((Average *average, Measure *measure, PhotCode *code));
+double        ExtractAverages       PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int param));
+double       *ExtractByDMag         PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
+double       *ExtractDMag           PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));
+double       *ExtractMagnitudes     PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *n));
+double       *ExtractMeasures       PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
+double       *ExtractMeasuresByDMag PROTO((PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));
+double       *ExtractMeasuresDMag   PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));
+void          FreeImageSelection    PROTO(());
+void          FreeImageSelection    PROTO(());
+int           GetAverageParam       PROTO((char *parname));
+void          GetAverageParamHelp   PROTO(());
+int           GetMagMode            PROTO((char *string));
+double        GetMeasure            PROTO((int param, Average *average, Measure *measure, double mag));
+int           GetMeasureParam       PROTO((char *parname));
+int           GetMeasureTypeCode    PROTO((Measure *measure));
+int           GetPhotcodeInfo       PROTO((char *string, PhotCode **Code, int *Mode));
+int           GetSelectionParam     PROTO(());
+int           GetTimeSelection      PROTO((time_t *tz, time_t *te));
+void          InitDVO               PROTO(());
+int           InitPhotcodes         PROTO(());
+Image        *LoadImages            PROTO((int *Nimage));
+Image        *MatchImage            PROTO((unsigned int time, short int source));
+Image        *MatchImage            PROTO((unsigned int time, short int source));
+Coords       *MatchMosaic           PROTO((unsigned int time, short int source));
+int           Quality               PROTO((Measure *measure, int IsDophot));
+int           SelectMags            PROTO((int Nphot, int Tphot, int Ns, Average *average, Measure *measure, SecFilt *secfilt, int UL));
+
+SkyList      *SelectRegions         PROTO((char *RegionName, char *RegionList));
+SkyList      *SkyListLoadFile       PROTO((char *filename));
+int           SetCATDIR             PROTO((char *path, int verbose));
+char *        GetCATDIR             PROTO(());
+SkyTable     *GetSkyTable           PROTO(());
+SkyList      *SkyListFromFile       PROTO((char *filename));
+int           SetRegionSelection    PROTO((int *argc, char **argv, char **RegionName, char **RegionList));
+
+int           SetImageSelection     PROTO((int mode, int RegionSelect));
+int           SetPhotSelections     PROTO((int *argc, char **argv, int Nparams));
+int           SetSelectionParam     PROTO((int param));
+int           TestAverage           PROTO((PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure));
+int           TestPhotSelections    PROTO((PhotCode **code, int *mode, int param));
+void          compare               PROTO((Catalog *catlog1, Catalog *catlog2, Vector *rvec,  Vector *dvec,  Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius));
+void          cprecess              PROTO((Average *average, int Naverage, double in_epoch, double out_epoch));
+void          image_subset          PROTO((Image *image, int Nimage, int **Subset, int *Nsubset, Graphdata *graph, int RegionSelect, unsigned long int tzero, double trange, int TimeSelect));
+int           match_image           PROTO((Image *image, int Nimage, unsigned int T, short int S));
+int           match_image_subset    PROTO((Image *image, int *subset, int Nsubset, unsigned int T, short int S));
+void          print_value           PROTO((FILE *f, double value, short int ival));
+void          sort_image_subset     PROTO((Image *image, int *subset, int N));
+void          sort_images           PROTO((Image *image, int N));
+void          sortave               PROTO((Average *ave, int N));
+CMPstars     *cmpReadFits           PROTO((FILE *f, int *nstars));
+CMPstars     *cmpReadText           PROTO((FILE *f, int *nstars));
+int           RD_to_XYpic           PROTO((double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside));
+
+# endif
Index: /trunk/Ohana/src/opihi/lib.data/graphtools.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.data/graphtools.c	(revision 7679)
+++ /trunk/Ohana/src/opihi/lib.data/graphtools.c	(revision 7680)
@@ -40,2 +40,42 @@
   set_variable ("YMAX", graphmode[0].ymax);
 }
+
+void SetLimitsRaw (float *xvec, float *yvec, int Nelements, Graphdata *graphmode) {
+
+  double maxX, minX, maxY, minY, range;
+  int i;
+
+  if (xvec != NULL) {
+    maxX = minX = xvec[0];
+    for (i = 1; i < Nelements; i++) {
+      if (!finite(xvec[i])) continue;
+      maxX = MAX (maxX, xvec[i]);
+      minX = MIN (minX, xvec[i]);
+    }
+    range = maxX - minX;
+    if (range == 0) range = 0.001 * maxX;
+    if (range == 0) range = 0.001;
+    graphmode[0].xmin = minX - 0.05*range;
+    graphmode[0].xmax = maxX + 0.05*range;
+  }
+
+  if (yvec != NULL) {
+    maxY = minY = yvec[0];
+    for (i = 1; i < Nelements; i++) {
+      if (!finite(yvec[i])) continue;
+      maxY = MAX (maxY, yvec[i]);
+      minY = MIN (minY, yvec[i]);
+    }
+    range = maxY - minY;
+    if (range == 0) range = 0.0011 * maxY;
+    if (range == 0) range = 0.0011;
+    graphmode[0].ymin = minY - 0.05*range;
+    graphmode[0].ymax = maxY + 0.05*range;
+  }
+  SetGraph (graphmode[0]);
+
+  set_variable ("XMIN", graphmode[0].xmin);
+  set_variable ("XMAX", graphmode[0].xmax);
+  set_variable ("YMIN", graphmode[0].ymin);
+  set_variable ("YMAX", graphmode[0].ymax);
+}
