Index: trunk/ppSim/src/ppSimCreate.c
===================================================================
--- trunk/ppSim/src/ppSimCreate.c	(revision 12834)
+++ trunk/ppSim/src/ppSimCreate.c	(revision 12873)
@@ -13,19 +13,4 @@
     PS_ASSERT_PTR_NON_NULL(config, NULL);
 
-    psString formatName = psMetadataLookupStr(NULL, config->arguments, "FORMAT"); // Input format name
-    config->formatName = psMemIncrRefCounter(formatName);
-
-    psMetadata *formats = psMetadataLookupMetadata(NULL, config->camera, "FORMATS"); // The camera formats
-    if (!formats) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find FORMATS in camera configuration.");
-        return NULL;
-    }
-    psMetadata *format = psMetadataLookupMetadata(NULL, formats, formatName); // Format of interest
-    if (!format) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find format %s in camera FORMATS.", formatName);
-        return NULL;
-    }
-    pmFPALevel phuLevel = pmFPAPHULevel(format); // Level at which PHU goes
-
     pmFPA *fpa = pmFPAConstruct(config->camera); // FPA to contain the observation
     if (!fpa) {
@@ -34,8 +19,23 @@
     }
 
+    pmFPAfile *file = pmFPAfileDefineOutput(config, fpa, OUTPUT_FILE);
+    psFree(fpa);
+    if (!file) {
+        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to create output file from %s.  "
+                "Did you forget to specify the format?", OUTPUT_FILE);
+        return NULL;
+    }
+    if (file->type != PM_FPA_FILE_IMAGE) {
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "%s type is not IMAGE", OUTPUT_FILE);
+        psFree(file);
+        return NULL;
+    }
+
+    pmFPALevel phuLevel = pmFPAPHULevel(file->format); // Level at which PHU goes
+
     pmFPAview *view = pmFPAviewAlloc(0);// View for current level
 
     if (phuLevel == PM_FPA_LEVEL_FPA) {
-        if (!pmFPAAddSourceFromView(fpa, "Simulation", view, format)) {
+        if (!pmFPAAddSourceFromView(fpa, "Simulation", view, file->format)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA.");
             psFree(fpa);
@@ -48,5 +48,5 @@
     while ((chip = pmFPAviewNextChip(view, fpa, 1))) {
         if (phuLevel == PM_FPA_LEVEL_CHIP) {
-            if (!pmFPAAddSourceFromView(fpa, "Simulation", view, format)) {
+            if (!pmFPAAddSourceFromView(fpa, "Simulation", view, file->format)) {
                 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA.");
                 psFree(fpa);
@@ -59,5 +59,5 @@
         while ((cell = pmFPAviewNextCell(view, fpa, 1))) {
             if (phuLevel == PM_FPA_LEVEL_CELL) {
-                if (!pmFPAAddSourceFromView(fpa, "Simulation", view, format)) {
+                if (!pmFPAAddSourceFromView(fpa, "Simulation", view, file->format)) {
                     psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA.");
                     psFree(fpa);
@@ -70,16 +70,4 @@
     psFree(view);
 
-    pmFPAfile *file = pmFPAfileDefineOutput(config, fpa, OUTPUT_FILE);
-    psFree(fpa);
-    if (!file) {
-        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to create output file from %s", OUTPUT_FILE);
-        return NULL;
-    }
-    if (file->type != PM_FPA_FILE_IMAGE) {
-        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "%s type is not IMAGE", OUTPUT_FILE);
-        psFree(file);
-        return NULL;
-    }
-
     return file;
 }
