Index: trunk/ppSim/src/ppSimLoop.c
===================================================================
--- trunk/ppSim/src/ppSimLoop.c	(revision 14463)
+++ trunk/ppSim/src/ppSimLoop.c	(revision 14531)
@@ -23,5 +23,4 @@
 
     // Add random stars
-    // XXX put this in a wrapper (add to array of stars)
     if (type == PPSIM_TYPE_OBJECT) {
 	ppSimMakeStars (stars, fpa, config, rng);
@@ -30,8 +29,27 @@
     pmFPAview *view = pmFPAviewAlloc(0);// View for iterating over FPA
 
+    // load any needed files (eg, input image, PSF)
+    if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) {
+	psError(PSPHOT_ERR_DATA, false, "failed IO for fpa in ppSim\n");
+	psFree(view);
+	return false;
+    }
+
     ppSimUpdateConceptsFPA (fpa, config);
 
     pmChip *chip;                       // Chip from FPA
     while ((chip = pmFPAviewNextChip(view, fpa, 1))) {
+
+	// load any needed files (eg, input image, PSF)
+	if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) {
+            psError(PSPHOT_ERR_DATA, false, "failed IO for chip %d in ppSim\n", view->chip);
+	    psFree (view);
+	    return false;
+	}
+
+	pmPSF *psf = NULL;
+	if (type == PPSIM_TYPE_OBJECT) {
+	    psf = ppSimSetPSF (config);
+	}
 
         pmCell *cell;                   // Cell from chip
