Index: trunk/ppSim/src/ppSimArguments.c
===================================================================
--- trunk/ppSim/src/ppSimArguments.c	(revision 14463)
+++ trunk/ppSim/src/ppSimArguments.c	(revision 14531)
@@ -8,5 +8,5 @@
 {
     fprintf(stderr, "\nPan-STARRS data simulator\n\n");
-    fprintf(stderr, "Usage: %s -camera CAMERA_NAME\n", program);
+    fprintf(stderr, "Usage: %s -camera CAMERA_NAME (output)\n", program);
     fprintf(stderr, "\n");
     psArgumentHelp(arguments);
@@ -68,12 +68,14 @@
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-bin", 0, "Binning in x and y", 1);
 
+    pmConfigFileSetsMD (config->arguments, &argc, argv, "PSPHOT.PSF", "-psf", "-psflist");
+
     if (!config->camera) {
         psErrorStackPrint(stderr, "A camera name must be specified using the -camera option.");
         usage(argv[0], arguments, config);
     }
-
-    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 2) {
-        usage(argv[0], arguments, config);
-    }
+ 
+    if (!psArgumentParse(arguments, &argc, argv)) { usage (argv[0], arguments, config); }
+
+    if (argc != 2) { usage(argv[0], arguments, config); }
 
     psString formatName = psMetadataLookupStr(NULL, arguments, "-format"); // Name of format
@@ -113,5 +115,5 @@
         type = PPSIM_TYPE_OBJECT;
     } else {
-        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Unrecognised exposure type: %s", typeStr);
+        psErrorStackPrint(stderr, "Unrecognised exposure type: %s", typeStr);
         usage(argv[0], arguments, config);
     }
@@ -179,6 +181,5 @@
 
         if (isnan(ra0) || isnan(dec0) || isnan(pa) || isnan(scale) || isnan(zp) || isnan(seeing)) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, false,
-                    "-ra, -dec, -pa, -scale, -zp, -seeing must be specified for OBJECT type");
+            psErrorStackPrint(stderr, "-ra, -dec, -pa, -scale, -zp, -seeing must be specified for OBJECT type");
             usage(argv[0], arguments, config);
         }
