Index: trunk/ppSim/src/ppSimSequence.c
===================================================================
--- trunk/ppSim/src/ppSimSequence.c	(revision 18993)
+++ trunk/ppSim/src/ppSimSequence.c	(revision 19080)
@@ -30,4 +30,11 @@
         }
         psFree(line);
+    }
+
+    char *camera = NULL;
+    if ((argNum = psArgumentGet (argc, argv, "-camera"))) {
+        psArgumentRemove(argNum, &argc, argv);
+        camera = psStringCopy (argv[argNum]);
+        psArgumentRemove(argNum, &argc, argv);
     }
 
@@ -151,17 +158,17 @@
 
         if (!strcasecmp (type, "BIAS")) {
-            ppSimSequenceBias (simfile, inject, sequence, i, rng, path, basename, injectCommand);
+            ppSimSequenceBias (simfile, inject, sequence, i, rng, path, basename, camera, injectCommand);
             continue;
         }
         if (!strcasecmp (type, "DARK")) {
-            ppSimSequenceDark (simfile, inject, sequence, i, rng, path, basename, injectCommand);
+            ppSimSequenceDark (simfile, inject, sequence, i, rng, path, basename, camera, injectCommand);
             continue;
         }
         if (!strcasecmp (type, "FLAT")) {
-            ppSimSequenceFlat (simfile, inject, sequence, i, rng, path, basename, injectCommand);
+            ppSimSequenceFlat (simfile, inject, sequence, i, rng, path, basename, camera, injectCommand);
             continue;
         }
         if (!strcasecmp (type, "OBJECT")) {
-            ppSimSequenceObject (simfile, inject, sequence, i, rng, path, basename, injectCommand);
+            ppSimSequenceObject (simfile, inject, sequence, i, rng, path, basename, camera, injectCommand);
             continue;
         }
Index: trunk/ppSim/src/ppSimSequence.h
===================================================================
--- trunk/ppSim/src/ppSimSequence.h	(revision 18993)
+++ trunk/ppSim/src/ppSimSequence.h	(revision 19080)
@@ -12,8 +12,8 @@
 #include <psastro.h>
 
-bool ppSimSequenceBias 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand);
-bool ppSimSequenceDark 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand);
-bool ppSimSequenceFlat 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand);
-bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand);
+bool ppSimSequenceBias 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand);
+bool ppSimSequenceDark 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand);
+bool ppSimSequenceFlat 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand);
+bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand);
 
 #endif
Index: trunk/ppSim/src/ppSimSequenceBias.c
===================================================================
--- trunk/ppSim/src/ppSimSequenceBias.c	(revision 18993)
+++ trunk/ppSim/src/ppSimSequenceBias.c	(revision 19080)
@@ -1,9 +1,11 @@
 # include "ppSimSequence.h"
 
-bool ppSimSequenceBias (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand) {
+bool ppSimSequenceBias (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand) {
 
     bool status, setLevel, setRange;
 
-    char *camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    if (camera == NULL) {
+	camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    }
 
     // optional details
Index: trunk/ppSim/src/ppSimSequenceDark.c
===================================================================
--- trunk/ppSim/src/ppSimSequenceDark.c	(revision 18993)
+++ trunk/ppSim/src/ppSimSequenceDark.c	(revision 19080)
@@ -1,10 +1,12 @@
 # include "ppSimSequence.h"
 
-bool ppSimSequenceDark (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand) {
+bool ppSimSequenceDark (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand) {
 
     bool status, setRate;
     float min, max = 0;
 
-    char *camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    if (camera == NULL) {
+	camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    }
 
     setRate = false;
Index: trunk/ppSim/src/ppSimSequenceFlat.c
===================================================================
--- trunk/ppSim/src/ppSimSequenceFlat.c	(revision 18993)
+++ trunk/ppSim/src/ppSimSequenceFlat.c	(revision 19080)
@@ -1,9 +1,11 @@
 # include "ppSimSequence.h"
 
-bool ppSimSequenceFlat (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand) {
+bool ppSimSequenceFlat (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand) {
 
     bool status;
 
-    char *camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    if (camera == NULL) {
+	camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    }
 
     // determine the filters & exposure times
Index: trunk/ppSim/src/ppSimSequenceObject.c
===================================================================
--- trunk/ppSim/src/ppSimSequenceObject.c	(revision 18993)
+++ trunk/ppSim/src/ppSimSequenceObject.c	(revision 19080)
@@ -1,5 +1,5 @@
 # include "ppSimSequence.h"
 
-bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *injectCommand) {
+bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, char *camera, const char *injectCommand) {
 
     bool status;
@@ -9,5 +9,7 @@
     //       -skyrate $sky -ra $ra -dec $dec -pa $pa -scale $scale -zp $zp -seeing $seeing $filename",
 
-    char *camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    if (camera == NULL) {
+	camera = psMetadataLookupStr (&status, sequence, "CAMERA");
+    }
 
     // sequence reference coordinate
