Index: /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38969)
+++ /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38970)
@@ -983,5 +983,7 @@
   // mag_AB = -2.5 log (flux_cgs) - 48.6 (by definition) [~Vega flux in V-band]
   // flux_Jy = flux_cgs * 10^23
+
   // -2.5 log (flux_cgs) = -2.5 log (flux_Jy * 10^-23) = -2.5 log (flux_Jy) + 2.5*23
+  // -2.5 log (flux_cgs) = -2.5 log (flux_Jy) + 57.5
 
   // from these we get:
@@ -991,5 +993,5 @@
   // mag_AB = mag_inst + ZP
 
-  // log(flux_Jy) = -0.4*mag_inst -0.4*ZP + 3.56
+  // log(flux_Jy) = -0.4*mag_inst - 0.4*ZP + 3.56
   // mag_inst = -2.5 log (flux_Jy) - ZP + 8.9
 
@@ -997,7 +999,13 @@
 
   // -2.5 log (flux_inst) = -2.5 log (flux_Jy) - ZP + 8.9
+
   // log (flux_inst) = log (flux_Jy) + 0.4 ZP - 3.56
+
   // flux_inst = flux_Jy * 10^(0.4*ZP - 3.56)
+
   // flux_Jy = flux_inst * 10^(3.56 - 0.4*ZP) = flux_inst * zpFactor
+
+  // flux_Jy = flux_inst * 10^(-0.4*(ZP - 8.9)) = flux_inst * zpFactor
+
   // flux_Jy = flux_inst * 3630.8 * 10^(-0.4*ZP)
 
@@ -1160,11 +1168,11 @@
       switch (class) {
 	case MAG_CLASS_PSF:
-	  Fave = MagToFlux(secfilt[Ns].M);
+	  Fave = MagToFlux(secfilt[Ns].M - 8.9);
 	  break;
 	case MAG_CLASS_KRON:
-	  Fave = MagToFlux(secfilt[Ns].Mkron);
+	  Fave = MagToFlux(secfilt[Ns].Mkron - 8.9);
 	  break;
 	case MAG_CLASS_APER:
-	  Fave = MagToFlux(secfilt[Ns].Map);
+	  Fave = MagToFlux(secfilt[Ns].Map - 8.9);
 	  break;
 	default:
@@ -1175,11 +1183,11 @@
       switch (class) {
 	case MAG_CLASS_PSF:
-	  Fave = isnan (secfilt[Ns].FpsfWrp)  ? MagToFlux(secfilt[Ns].MpsfWrp)  : secfilt[Ns].FpsfWrp;
+	  Fave = isnan (secfilt[Ns].FpsfWrp)  ? MagToFlux(secfilt[Ns].MpsfWrp - 8.9)  : secfilt[Ns].FpsfWrp;
 	  break;
 	case MAG_CLASS_KRON:
-	  Fave = isnan (secfilt[Ns].FkronWrp) ? MagToFlux(secfilt[Ns].MkronWrp) : secfilt[Ns].FkronWrp;
+	  Fave = isnan (secfilt[Ns].FkronWrp) ? MagToFlux(secfilt[Ns].MkronWrp - 8.9) : secfilt[Ns].FkronWrp;
 	  break;
 	case MAG_CLASS_APER:
-	  Fave = isnan (secfilt[Ns].FapWrp)   ? MagToFlux(secfilt[Ns].MapWrp)   : secfilt[Ns].FapWrp;
+	  Fave = isnan (secfilt[Ns].FapWrp)   ? MagToFlux(secfilt[Ns].MapWrp - 8.9)   : secfilt[Ns].FapWrp;
 	  break;
 	default:
@@ -1190,11 +1198,11 @@
       switch (class) {
 	case MAG_CLASS_PSF:
-	  Fave = isnan (secfilt[Ns].FpsfStk)  ? MagToFlux(secfilt[Ns].MpsfStk)  : secfilt[Ns].FpsfStk;
+	  Fave = isnan (secfilt[Ns].FpsfStk)  ? MagToFlux(secfilt[Ns].MpsfStk - 8.9)  : secfilt[Ns].FpsfStk;
 	  break;
 	case MAG_CLASS_KRON:
-	  Fave = isnan (secfilt[Ns].FkronStk) ? MagToFlux(secfilt[Ns].MkronStk) : secfilt[Ns].FkronStk;
+	  Fave = isnan (secfilt[Ns].FkronStk) ? MagToFlux(secfilt[Ns].MkronStk - 8.9) : secfilt[Ns].FkronStk;
 	  break;
 	case MAG_CLASS_APER:
-	  Fave = isnan (secfilt[Ns].FapStk)   ? MagToFlux(secfilt[Ns].MapStk)   : secfilt[Ns].FapStk;
+	  Fave = isnan (secfilt[Ns].FapStk)   ? MagToFlux(secfilt[Ns].MapStk - 8.9)   : secfilt[Ns].FapStk;
 	  break;
 	default:
@@ -1220,11 +1228,11 @@
       switch (class) {
 	case MAG_CLASS_PSF:
-	  dFave = secfilt[Ns].dM * MagToFlux(secfilt[Ns].M);
+	  dFave = secfilt[Ns].dM * MagToFlux(secfilt[Ns].M - 8.9);
 	  break;
 	case MAG_CLASS_KRON:
-	  dFave = secfilt[Ns].dMkron * MagToFlux(secfilt[Ns].Mkron);
+	  dFave = secfilt[Ns].dMkron * MagToFlux(secfilt[Ns].Mkron - 8.9);
 	  break;
 	case MAG_CLASS_APER:
-	  dFave = secfilt[Ns].dMap * MagToFlux(secfilt[Ns].Map);
+	  dFave = secfilt[Ns].dMap * MagToFlux(secfilt[Ns].Map - 8.9);
 	  break;
 	default:
