Index: trunk/Ohana/src/relphot/include/relphot.h
===================================================================
--- trunk/Ohana/src/relphot/include/relphot.h	(revision 33651)
+++ trunk/Ohana/src/relphot/include/relphot.h	(revision 33963)
@@ -3,4 +3,5 @@
 # include <kapa.h>
 # include <signal.h>
+# include <pthread.h>
 
 /* # define GRID_V1 */
@@ -26,11 +27,23 @@
   float dMcal;
   float dMsys;
-  short nFitPhotom;
+  unsigned short nFitPhotom;
   short Xm;
   float secz;
   float ubercalDist;
   unsigned int flags;
+  char skipCal;		      // if TRUE, this mosaic is incomplete and should not be calibrated
   Coords coords;
 } Mosaic; 
+
+typedef enum {
+  STATS_NONE, 
+  STATS_MEAN, 
+  STATS_MEDIAN, 
+  STATS_WT_MEAN, 
+  STATS_INNER_MEAN, 
+  STATS_INNER_WTMEAN, 
+  STATS_CHI_INNER_MEAN, 
+  STATS_CHI_INNER_WTMEAN
+} ListStatsMode;
 
 typedef struct {
@@ -46,4 +59,5 @@
   double total;
   int    Nmeas;
+  ListStatsMode statmode;
 } StatType;
 
@@ -79,15 +93,15 @@
 
 /* global variables set in parameter file */
-# define MAX_PATH_LENGTH 1024
-char   ImageCat[MAX_PATH_LENGTH];
-char   ImageTemplate[MAX_PATH_LENGTH];
-char   CatTemplate[MAX_PATH_LENGTH];
-char   GSCFILE[MAX_PATH_LENGTH];
+# define DVO_MAX_PATH 1024
+char   ImageCat[DVO_MAX_PATH];
+char   ImageTemplate[DVO_MAX_PATH];
+char   CatTemplate[DVO_MAX_PATH];
+char   GSCFILE[DVO_MAX_PATH];
 char  *CATDIR;
 char   CATMODE[16];    /* raw, mef, split, mysql */
 char   CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
-char   CameraConfig[MAX_PATH_LENGTH];
+char   CameraConfig[DVO_MAX_PATH];
 char   CAMERA[64];    /* eg, gpc1 */
-char   SKY_TABLE[MAX_PATH_LENGTH];
+char   SKY_TABLE[DVO_MAX_PATH];
 int    SKY_DEPTH;  /** XXX EAM : depth of catalog tables, fix usage */
 
@@ -111,4 +125,6 @@
 int    PARALLEL_MANUAL;
 int    PARALLEL_SERIAL;
+
+int    NTHREADS;
 
 int    VERBOSE;
@@ -141,4 +157,5 @@
 int    PLOTDELAY;
 int    UpdateAverages;
+int    ApplyOffsets;
 
 char  *PhotcodeList;
@@ -194,5 +211,5 @@
 int           args                PROTO((int argc, char **argv));
 int           args_client         PROTO((int argc, char **argv));
-int           bcatalog            PROTO((Catalog *subcatalog, Catalog *catalog));
+int           bcatalog            PROTO((Catalog *subcatalog, Catalog *catalog, int Ncat));
 void          clean_images        PROTO((void));
 void          clean_measures      PROTO((Catalog *catalog, int Ncatalog, int final, FlatCorrectionTable *flatcorr));
@@ -236,15 +253,15 @@
 void          initMosaicBins      PROTO((Catalog *catalog, int Ncatalog, int doMosaicList));
 void          initMosaicGrid      PROTO((Image *image, off_t Nimage));
-void          initMosaics         PROTO((Image *image, off_t Nimage));
+void          initMosaics         PROTO((Image *subset, off_t Nsubset, Image *image, char *inSubset, off_t Nimage));
 void          initMrel            PROTO((Catalog *catalog, int Ncatalog));
 void          initialize          PROTO((int argc, char **argv));
 void          initialize_client   PROTO((int argc, char **argv));
-void          initstats           PROTO((char *mode));
-int           liststats           PROTO((double *value, double *dvalue, int N, StatType *stats));
+void          liststats_setmode   PROTO((StatType *stats, char *strmode));
+int           liststats           PROTO((double *value, double *dvalue, double *wvalue, int N, StatType *stats));
 Catalog      *load_catalogs       PROTO((SkyList *skylist, int *Ncatalog, int hostID, char *hostpath));
 Catalog      *load_catalogs_parallel PROTO((SkyList *sky, int *Ncatalog));
 
 SkyList      *load_images         PROTO((FITS_DB *db, char *regionName, SkyRegion *region));
-Image        *select_images       PROTO((SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage));
+Image        *select_images       PROTO((SkyList *skylist, Image *timage, off_t Ntimage, char *inSubset, off_t **LineNumber, off_t *Nimage, SkyRegion *region));
 
 int           main                PROTO((int argc, char **argv));
@@ -273,5 +290,5 @@
 int           setMmos             PROTO((Catalog *catalog, int Poor, FlatCorrectionTable *flatcorr));
 int           setMrel             PROTO((Catalog *catalog, int Ncatalog, FlatCorrectionTable *flatcorr));
-void          setMrelFinal        PROTO((Catalog *catalog, FlatCorrectionTable *flatcorr));
+void          setMrelFinal        PROTO((Catalog *catalog, FlatCorrectionTable *flatcorr, int simpleAverage));
 int           setMrelOutput       PROTO((Catalog *catalog, int Ncatalog, int pass, FlatCorrectionTable *flatcorr));
 int           setMave             PROTO((Catalog *catalog, int Ncatalog));
@@ -319,2 +336,6 @@
 int ImageSubsetSave(char *filename, ImageSubset *image, off_t Nimage);
 ImageSubset *ImageSubsetLoad(char *filename, off_t *nimage);
+
+int client_logger_init ();
+int client_logger_message (char *format,...);
+
