Index: /trunk/ppSim/src/ppSimInsertGalaxies.c
===================================================================
--- /trunk/ppSim/src/ppSimInsertGalaxies.c	(revision 16495)
+++ /trunk/ppSim/src/ppSimInsertGalaxies.c	(revision 16496)
@@ -23,5 +23,4 @@
 
     float expTime = psMetadataLookupF32(NULL, config->arguments, "EXPTIME"); // Exposure time
-    float skyRate = psMetadataLookupF32(NULL, config->arguments, "SKY.RATE"); // Sky rate
     float darkRate = psMetadataLookupF32(NULL, config->arguments, "DARK.RATE"); // Dark rate
     float readnoise = psMetadataLookupF32(NULL, cell->concepts, "CELL.READNOISE");// CCD read noise, e
@@ -35,4 +34,12 @@
     }
 
+    float skyRate = psMetadataLookupF32(NULL, config->arguments, "SKY.RATE"); // Sky rate
+    if (isnan(skyRate)) {
+	float zp      = psMetadataLookupF32(&mdok, config->arguments, "ZEROPOINT"); assert (mdok);
+	float scale   = psMetadataLookupF32(&mdok, config->arguments, "SCALE");     assert (mdok);
+	float skyMags = psMetadataLookupF32(&mdok, config->arguments, "SKY.MAGS");  assert (mdok);
+	skyRate = scale * scale * pow (10.0, -0.4*(skyMags - zp));
+    }
+    
     // Rough noise estimate, appropriate for entire cell (use for source radius?)
     float roughNoise = sqrtf(PS_SQR(readnoise) + (darkRate + skyRate) * expTime);
Index: /trunk/ppSim/src/ppSimInsertStars.c
===================================================================
--- /trunk/ppSim/src/ppSimInsertStars.c	(revision 16495)
+++ /trunk/ppSim/src/ppSimInsertStars.c	(revision 16496)
@@ -28,5 +28,4 @@
 
     float expTime = psMetadataLookupF32(NULL, config->arguments, "EXPTIME"); // Exposure time
-    float skyRate = psMetadataLookupF32(NULL, config->arguments, "SKY.RATE"); // Sky rate
     float darkRate = psMetadataLookupF32(NULL, config->arguments, "DARK.RATE"); // Dark rate
     float readnoise = psMetadataLookupF32(NULL, cell->concepts, "CELL.READNOISE");// CCD read noise, e
@@ -38,4 +37,12 @@
             return false;
         }
+    }
+
+    float skyRate = psMetadataLookupF32(NULL, config->arguments, "SKY.RATE"); // Sky rate
+    if (isnan(skyRate)) {
+	float zp      = psMetadataLookupF32(&mdok, config->arguments, "ZEROPOINT"); assert (mdok);
+	float scale   = psMetadataLookupF32(&mdok, config->arguments, "SCALE");     assert (mdok);
+	float skyMags = psMetadataLookupF32(&mdok, config->arguments, "SKY.MAGS");  assert (mdok);
+	skyRate = scale * scale * pow (10.0, -0.4*(skyMags - zp));
     }
 
