Index: trunk/psModules/src/config/pmConfig.c
===================================================================
--- trunk/psModules/src/config/pmConfig.c	(revision 7589)
+++ trunk/psModules/src/config/pmConfig.c	(revision 7597)
@@ -3,6 +3,6 @@
  *  @author PAP, IfA
  *
- *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-17 01:50:43 $
+ *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-21 01:24:28 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -256,7 +256,26 @@
         if (argNum >= *argc) {
             psLogMsg(__func__, PS_LOG_WARN,
-                     "-camera command-line switch provided without the required filename --- ignored.\n");
+                     "-camera command-line switch provided without the required camera or filename --- "
+                     "ignored.\n");
         } else {
-            readConfig(&config->camera, argv[argNum], "camera");
+            char *cameraFile = argv[argNum]; // The camera configuration file to read
+
+            // look for a symbolic camera name in the CAMERAS metadata
+            // otherwise fall back to trying the -camera option as a literal
+            // filename
+            bool mdok = true;           // Status of MD lookup
+            psMetadata *cameras = psMetadataLookupMD(&mdok, config->site, "CAMERAS");
+            if (mdok && cameras) {
+                char *newFile = psMetadataLookupStr(NULL, cameras, cameraFile); // The filename
+                if (newFile) {
+                    cameraFile = newFile;
+                }
+            } else {
+                psError(PS_ERR_IO, false, "Unable to find CAMERAS in site configuration.\n");
+                psFree(config);
+                return NULL;
+            }
+
+            readConfig(&config->camera, cameraFile, "camera");
             psArgumentRemove(argNum, argc, argv);
         }
