Index: /trunk/psphot/src/psphotApResid.c
===================================================================
--- /trunk/psphot/src/psphotApResid.c	(revision 10800)
+++ /trunk/psphot/src/psphotApResid.c	(revision 10801)
@@ -115,5 +115,5 @@
         Npsf ++;
     }
-    psLogMsg ("psphot.apresid", 4, "measure aperture residuals : %f sec for %d objects (%d skipped, %d failed, %ld invalid)\n",
+    psLogMsg ("psphot.apresid", PS_LOG_DETAIL, "measure aperture residuals for %d objects (%d skipped, %d failed, %ld invalid)\n",
               psTimerMark ("psphot"), Npsf, Nskip, Nfail, sources->n - Npsf - Nskip - Nfail);
 
@@ -333,8 +333,8 @@
     psMetadataAdd (recipe, PS_LIST_TAIL, "NAPMIFIT", PS_DATA_S32 | PS_META_REPLACE, "ap residual scatter", psf->nApResid);
 
-    psLogMsg ("psphot.apresid", 3, "measure full-frame aperture residual: %f sec\n", psTimerMark ("psphot"));
-    psLogMsg ("psphot.apresid", 4, "aperture residual: %f +/- %f : %f bias, %f skysat (%d of %d used)\n",
+    psLogMsg ("psphot.apresid", PS_LOG_INFO, "measure full-frame aperture residual: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot.apresid", PS_LOG_DETAIL, "aperture residual: %f +/- %f : %f bias, %f skysat (%d of %d used)\n",
               psf->ApResid, psf->dApResid, psf->skyBias, psf->skySat, Nkeep, Npsf);
-    psLogMsg ("psphot.apresid", 4, "apresid trends: %f %f %f %f %f\n",
+    psLogMsg ("psphot.apresid", PS_LOG_MINUTIA, "apresid trends: %f %f %f %f %f\n",
               1e3*psf->ApTrend->coeff[1][0][0][0],
               1e6*psf->ApTrend->coeff[2][0][0][0],
Index: /trunk/psphot/src/psphotBasicDeblend.c
===================================================================
--- /trunk/psphot/src/psphotBasicDeblend.c	(revision 10800)
+++ /trunk/psphot/src/psphotBasicDeblend.c	(revision 10801)
@@ -120,5 +120,5 @@
         psFree (contour);
     }
-    psLogMsg ("psphot.deblend", 3, "identified %d blended objects (%f sec)\n", Nblend, psTimerMark ("psphot"));
+    psLogMsg ("psphot.deblend", PS_LOG_INFO, "identified %d blended objects (%f sec)\n", Nblend, psTimerMark ("psphot"));
 
     psFree (SN);
Index: /trunk/psphot/src/psphotBlendFit.c
===================================================================
--- /trunk/psphot/src/psphotBlendFit.c	(revision 10800)
+++ /trunk/psphot/src/psphotBlendFit.c	(revision 10801)
@@ -86,5 +86,5 @@
     }
 
-    psLogMsg ("psphot.psphotBlendFit", 3, "fit models: %f sec for %d objects (%d psf, %d ext, %d failed, %ld skipped)\n", psTimerMark ("psphot"), Nfit, Npsf, Next, Nfail, sources->n - Nfit);
+    psLogMsg ("psphot.psphotBlendFit", PS_LOG_INFO, "fit models: %f sec for %d objects (%d psf, %d ext, %d failed, %ld skipped)\n", psTimerMark ("psphot"), Nfit, Npsf, Next, Nfail, sources->n - Nfit);
     return (true);
 }
Index: /trunk/psphot/src/psphotChoosePSF.c
===================================================================
--- /trunk/psphot/src/psphotChoosePSF.c	(revision 10800)
+++ /trunk/psphot/src/psphotChoosePSF.c	(revision 10801)
@@ -75,5 +75,5 @@
         if (source->mode & PM_SOURCE_MODE_PSFSTAR) psArrayAdd (stars, 200, source);
     }
-    psLogMsg ("psphot.pspsf", 4, "selected candidate %ld PSF objects\n", stars->n);
+    psLogMsg ("psphot.pspsf", PS_LOG_DETAIL, "selected candidate %ld PSF objects\n", stars->n);
 
     if (stars->n == 0) {
@@ -173,9 +173,9 @@
     psVectorStats (stats, dSx, NULL, NULL, 0);
     float dSxo = stats->sampleMean;
-    psLogMsg ("psphot.choosePSF", 3, "dSx: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSx->n);
+    psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "dSx: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSx->n);
 
     psVectorStats (stats, dSy, NULL, NULL, 0);
     float dSyo = stats->sampleMean;
-    psLogMsg ("psphot.choosePSF", 3, "dSy: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSy->n);
+    psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "dSy: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSy->n);
 
     for (int i = 0; i < dSN->n; i++) {
@@ -186,8 +186,8 @@
     psVectorStats (stats, dSx, NULL, NULL, 0);
     float nSx = stats->sampleStdev;
-    psLogMsg ("psphot.choosePSF", 3, "dSx: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSx->n);
+    psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "dSx: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSx->n);
     psVectorStats (stats, dSy, NULL, NULL, 0);
     float nSy = stats->sampleStdev;
-    psLogMsg ("psphot.choosePSF", 3, "dSy: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSy->n);
+    psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "dSy: mean: %f, median: %f, stdev: %f, npts: %ld", stats->sampleMean, stats->sampleMedian, stats->sampleStdev, dSy->n);
 
     psFree (Sx);
@@ -234,5 +234,5 @@
 	psMetadataConfigWrite (psfData, "psfmodel.dat");
 	psFree (psfData);
-	psLogMsg ("psphot.choosePSF", 3, "wrote out psf-subtracted image, psf data, exiting\n");
+	psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "wrote out psf-subtracted image, psf data, exiting\n");
 	exit (0);
     }
@@ -247,6 +247,6 @@
 
     modelName = pmModelGetType (psf->type);
-    psLogMsg ("psphot.pspsf", 3, "select psf model: %f sec\n", psTimerMark ("psphot"));
-    psLogMsg ("psphot.pspsf", 3, "selected psf model %s, ApResid: %f +/- %f\n", modelName, psf->ApResid, psf->dApResid);
+    psLogMsg ("psphot.pspsf", PS_LOG_INFO, "select psf model: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot.pspsf", PS_LOG_INFO, "psf model %s, ApResid: %f +/- %f\n", modelName, psf->ApResid, psf->dApResid);
 
     return (psf);
Index: /trunk/psphot/src/psphotEnsemblePSF.c
===================================================================
--- /trunk/psphot/src/psphotEnsemblePSF.c	(revision 10800)
+++ /trunk/psphot/src/psphotEnsemblePSF.c	(revision 10801)
@@ -105,5 +105,5 @@
         psFree (fitSource);
     }
-    psLogMsg (__func__, 4, "built fitSources: %f (%ld objects)\n", psTimerMark ("psphot"), refSources->n);
+    psLogMsg ("psphot.ensemble", PS_LOG_MINUTIA, "built fitSources: %f (%ld objects)\n", psTimerMark ("psphot"), refSources->n);
 
     // vectors to store stats for each object
@@ -178,5 +178,5 @@
     }
     psSparseResort (sparse);
-    psLogMsg (__func__, 4, "built matrix: %f (%d elements)\n", psTimerMark ("psphot"), sparse->Nelem);
+    psLogMsg ("psphot.ensemble", PS_LOG_MINUTIA, "built matrix: %f (%d elements)\n", psTimerMark ("psphot"), sparse->Nelem);
 
     // set the sky, sky_x, sky_y components of border matrix
@@ -242,5 +242,5 @@
     psFree (border);
 
-    psLogMsg (__func__, 3, "measure ensemble of PSFs: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot.ensemble", PS_LOG_INFO, "measure ensemble of PSFs: %f sec\n", psTimerMark ("psphot"));
     return true;
 }
Index: /trunk/psphot/src/psphotFindPeaks.c
===================================================================
--- /trunk/psphot/src/psphotFindPeaks.c	(revision 10800)
+++ /trunk/psphot/src/psphotFindPeaks.c	(revision 10801)
@@ -20,5 +20,5 @@
     psImage *smooth_im = psImageCopy (NULL, readout->image, PS_TYPE_F32);
     psImageSmooth (smooth_im, SIGMA, NSIGMA);
-    psLogMsg ("psphot", 4, "smooth image: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_MINUTIA, "smooth image: %f sec\n", psTimerMark ("psphot"));
 
     psImage *smooth_wt = psImageCopy (NULL, readout->weight, PS_TYPE_F32);
@@ -26,5 +26,5 @@
     smooth_wt = (psImage*)psBinaryOp(smooth_wt, smooth_wt, "*",
 				     psScalarAlloc(1/(4*M_PI*PS_SQR(SIGMA)), PS_TYPE_F32));
-    psLogMsg ("psphot", 4, "smooth weight: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_MINUTIA, "smooth weight: %f sec\n", psTimerMark ("psphot"));
 
     psImage *mask = readout->mask;
@@ -36,5 +36,4 @@
     }
 
-    psTimerStart ("psphot");
     for (int j = 0; j < smooth_im->numRows; j++) {
 	for (int i = 0; i < smooth_im->numCols; i++) {
@@ -47,7 +46,5 @@
 	}
     }
-    psLogMsg ("psphot", 4, "built S/N map: %f sec\n", psTimerMark ("psphot"));
-
-    psTimerStart ("psphot");
+    psLogMsg ("psphot", PS_LOG_MINUTIA, "built S/N map: %f sec\n", psTimerMark ("psphot"));
 
     // set peak threshold
@@ -55,5 +52,5 @@
     // threshold = NSIGMA*sky->sampleStdev + sky->sampleMean; 
     threshold = PS_SQR(NSIGMA);
-    psLogMsg ("psphot", 4, "threshold: %f DN\n", threshold);
+    psLogMsg ("psphot", PS_LOG_DETAIL, "threshold: %f DN\n", threshold);
 
     // find the peaks in the smoothed image 
@@ -68,5 +65,5 @@
 	pmPeaksWriteText (peaks, output);
     }
-    psLogMsg ("psphot", 3, "%ld peaks: %f sec\n", peaks->n, psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_INFO, "%ld peaks: %f sec\n", peaks->n, psTimerMark ("psphot"));
 
     return (peaks);
Index: /trunk/psphot/src/psphotGuessModels.c
===================================================================
--- /trunk/psphot/src/psphotGuessModels.c	(revision 10800)
+++ /trunk/psphot/src/psphotGuessModels.c	(revision 10801)
@@ -3,4 +3,6 @@
 // construct an initial PSF model for each object 
 bool psphotGuessModels (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf) {
+
+  psTimerStart ("psphot");
 
   // setup the PSF fit radius details
@@ -35,5 +37,5 @@
     source->modelPSF = modelPSF;
   }
-  psLogMsg ("psphot.emsemble", 4, "built models: %f (%ld objects)\n", psTimerMark ("psphot"), sources->n);
+  psLogMsg ("psphot.models", 4, "built models: %f (%ld objects)\n", psTimerMark ("psphot"), sources->n);
   return true;
 }
Index: /trunk/psphot/src/psphotImageMedian.c
===================================================================
--- /trunk/psphot/src/psphotImageMedian.c	(revision 10800)
+++ /trunk/psphot/src/psphotImageMedian.c	(revision 10801)
@@ -199,5 +199,5 @@
 	}
     }
-    psLogMsg ("psphot", 3, "build median image: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_MINUTIA, "build median image: %f sec\n", psTimerMark ("psphot"));
 
     // measure background stats and save for later output
@@ -210,5 +210,6 @@
     psMetadataAdd (recipe, PS_LIST_TAIL, "SKY_NX",   PS_DATA_S32 | PS_META_REPLACE, "sky model size (x)",      nx);
     psMetadataAdd (recipe, PS_LIST_TAIL, "SKY_NY",   PS_DATA_S32 | PS_META_REPLACE, "sky model size (y)",      ny);
-    psLogMsg ("psphot", 3, "background sky : min %f mean %f max %f stdev %f", statsBck->min, statsBck->sampleMean, statsBck->max, statsBck->sampleStdev);
+    psLogMsg ("psphot", PS_LOG_INFO, "background sky : min %f mean %f max %f stdev %f", 
+	      statsBck->min, statsBck->sampleMean, statsBck->max, statsBck->sampleStdev);
     psFree (statsBck);
 
@@ -232,5 +233,5 @@
     // linear interpolation to full-scale
     psImageUnbin (background->image, model->image, DX, DY, dx, dy);
-    psLogMsg ("psphot", 3, "build resampled image: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_MINUTIA, "build resampled image: %f sec\n", psTimerMark ("psphot"));
 
     // back-sub image pixels, from output background file (don't create if not requested)
@@ -267,5 +268,5 @@
 # endif
 
-    psLogMsg ("psphot", 3, "subtracted background model: %f sec\n", psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_INFO, "subtracted background model: %f sec\n", psTimerMark ("psphot"));
     psFree(stats);
     psFree(rng);
Index: /trunk/psphot/src/psphotMagnitudes.c
===================================================================
--- /trunk/psphot/src/psphotMagnitudes.c	(revision 10800)
+++ /trunk/psphot/src/psphotMagnitudes.c	(revision 10801)
@@ -48,5 +48,5 @@
     }	
 
-    psLogMsg ("psphot.magnitudes", 4, "measure magnitudes : %f sec for %ld objects (%d with apertures)\n", psTimerMark ("psphot"), sources->n, Nap);
+    psLogMsg ("psphot.magnitudes", PS_LOG_DETAIL, "measure magnitudes : %f sec for %ld objects (%d with apertures)\n", psTimerMark ("psphot"), sources->n, Nap);
     return true;
 }
Index: /trunk/psphot/src/psphotReplaceUnfit.c
===================================================================
--- /trunk/psphot/src/psphotReplaceUnfit.c	(revision 10800)
+++ /trunk/psphot/src/psphotReplaceUnfit.c	(revision 10801)
@@ -50,5 +50,5 @@
       source->mode &= ~PM_SOURCE_MODE_SUBTRACTED;
     }
-    psLogMsg ("psphot.replace", 3, "replace models: %f sec (%ld objects)\n", psTimerMark ("psphot"), sources->n);
+    psLogMsg ("psphot.replace", PS_LOG_INFO, "replace models: %f sec (%ld objects)\n", psTimerMark ("psphot"), sources->n);
     return true;
 }
Index: /trunk/psphot/src/psphotRoughClass.c
===================================================================
--- /trunk/psphot/src/psphotRoughClass.c	(revision 10800)
+++ /trunk/psphot/src/psphotRoughClass.c	(revision 10801)
@@ -5,4 +5,6 @@
 
     pmPSFClump   psfClump;
+
+    psTimerStart ("psphot");
 
     psfClump = pmSourcePSFClump (sources, recipe);
@@ -22,4 +24,6 @@
     psphotDumpMoments (recipe, sources);
 
+    psLogMsg ("psphot.roughclass", PS_LOG_INFO, "rough classification (%f sec)\n", psTimerMark ("psphot"));
+
     return true;
 }
Index: /trunk/psphot/src/psphotSkyReplace.c
===================================================================
--- /trunk/psphot/src/psphotSkyReplace.c	(revision 10800)
+++ /trunk/psphot/src/psphotSkyReplace.c	(revision 10801)
@@ -4,4 +4,6 @@
 // in order to  successfully replace the sky, we must define a corresponding file...
 bool psphotSkyReplace (pmConfig *config, pmFPAview *view) {
+
+    psTimerStart ("psphot");
 
     // find the currently selected readout
@@ -26,4 +28,5 @@
 	}
     }
+    psLogMsg ("psphot.sky", PS_LOG_DETAIL, "replace background flux : %f sec\n", psTimerMark ("psphot"));
     return true;
 }
Index: /trunk/psphot/src/psphotSourceStats.c
===================================================================
--- /trunk/psphot/src/psphotSourceStats.c	(revision 10800)
+++ /trunk/psphot/src/psphotSourceStats.c	(revision 10801)
@@ -74,5 +74,5 @@
     }
 
-    psLogMsg ("psphot", 3, "%ld moments: %f sec\n", sources->n, psTimerMark ("psphot"));
+    psLogMsg ("psphot", PS_LOG_INFO, "%ld moments: %f sec\n", sources->n, psTimerMark ("psphot"));
 
     return (sources);
