Index: /trunk/Ohana/src/relastro/src/ConfigInit.c
===================================================================
--- /trunk/Ohana/src/relastro/src/ConfigInit.c	(revision 15578)
+++ /trunk/Ohana/src/relastro/src/ConfigInit.c	(revision 15579)
@@ -61,5 +61,5 @@
     exit (1);
   }
-  SetZeroPoint (ZERO_POINT);
+  SetZeroPoint (25.0);
 
   free (config);
Index: /trunk/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- /trunk/Ohana/src/relastro/src/ImageOps.c	(revision 15578)
+++ /trunk/Ohana/src/relastro/src/ImageOps.c	(revision 15579)
@@ -190,4 +190,8 @@
   if (isMosaic) {
     mosaic = getMosaicForImage (im);
+    if (mosaic == NULL) {
+      fprintf (stderr, "mosaic not found for image %s\n", image[i].name);
+      exit (1);
+    }
     moscoords = &mosaic[0].coords;
   }
Index: /trunk/Ohana/src/relastro/src/MosaicOps.c
===================================================================
--- /trunk/Ohana/src/relastro/src/MosaicOps.c	(revision 15578)
+++ /trunk/Ohana/src/relastro/src/MosaicOps.c	(revision 15579)
@@ -9,4 +9,7 @@
 static int   **imlist; /* mosaic -> image[] */
 static int   **bin;    /* catalog, measure -> mosaic */
+
+static int    Nimages;
+static int   **moslist; /* image -> mosaic */
 
 static int   **clist;  /* mosaic -> catalog[] */
@@ -23,5 +26,5 @@
   char *pname;
 
-  if (!MOSAICNAME[0]) return;
+  // if (!MOSAICNAME[0]) return;
 
   Nmosaic = 0;
@@ -33,11 +36,16 @@
   ALLOCATE (NIMLIST, int, NMOSAIC);
 
+  Nimages = Nimage;
+  ALLOCATE (moslist, int, Nimages);
+
   /* generate list of unique mosaics */
   for (i = 0; i < Nimage; i++) {
 
-    /* select valid mosaic images by photcode */
+    moslist[i] = -1; // default value for no mosaic found
+
+    /* select valid mosaic images by photcode
     pname = GetPhotcodeNamebyCode (image[i].photcode);
     status = strncmp (pname, MOSAICNAME, strlen (MOSAICNAME));
-    if (status) continue;
+    if (status) continue; */
 
     /* set image time range */
@@ -60,4 +68,6 @@
       }
 
+      /* add mosaic to image -> mosaic list */
+      moslist[i] = j;
     }
     if (found) continue;
@@ -72,9 +82,12 @@
     mosaic[Nmosaic].secz  = image[i].secz;
 
-    /* add image to mosaic image list */
+    /* add image to mosaic -> image list */
     NIMLIST[Nmosaic] = 10;
     Nimlist[Nmosaic] = 1;
     ALLOCATE (imlist[Nmosaic], int, NIMLIST[Nmosaic]);
     imlist[Nmosaic][0] = i;
+
+    /* add mosaic to image -> mosaic list */
+    moslist[i] = Nmosaic;
 
     Nmosaic ++;
@@ -278,8 +291,13 @@
 Image *getMosaicForImage (int Nim) {
 
-    Image *mosaic;
-
-    mosaic = NULL;
-    return mosaic;
+  int i;
+  Image *mosaic;
+
+  // search for the mosaic that 
+  i = moslist[Nim];
+  if (i < 0) return NULL;
+
+  mosaic = &mosaic[i];
+  return mosaic;
 }
 
