Index: trunk/ppTranslate/src/ppMopsArguments.c
===================================================================
--- trunk/ppTranslate/src/ppMopsArguments.c	(revision 34474)
+++ trunk/ppTranslate/src/ppMopsArguments.c	(revision 37430)
@@ -42,4 +42,6 @@
 static void mopsArgumentsFree(ppMopsArguments *args)
 {
+    psFree(args->camera);
+    psFree(args->obscode);
     psFree(args->input);
     psFree(args->exp_name);
@@ -63,4 +65,6 @@
     args->warp_id = 0;
     args->diff_id = 0;
+    args->camera = NULL;
+    args->obscode = NULL;
     args->zp = NAN;
     args->positive = true;
@@ -94,4 +98,5 @@
     psMetadataAddS64(arguments, PS_LIST_TAIL, "-warp_id", 0, "Warp stage identifier", 0);
     psMetadataAddS64(arguments, PS_LIST_TAIL, "-diff_id", 0, "Diff stage identifier", 0);
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-camera", 0, "Camera name", "No comment provided");
     psMetadataAddBool(arguments, PS_LIST_TAIL, "-inverse", 0, "Inverse subtraction?", false);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-zp", 0, "Magnitude zero point", NAN);
@@ -126,4 +131,5 @@
     args->warp_id = psMetadataLookupS64(NULL, arguments, "-warp_id");
     args->diff_id = psMetadataLookupS64(NULL, arguments, "-diff_id");
+    args->camera = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-camera"));
     args->positive = !psMetadataLookupBool(NULL, arguments, "-inverse"); // NOTE: negated
     args->zp = psMetadataLookupF32(NULL, arguments, "-zp");
@@ -137,4 +143,19 @@
     args->shutoutc = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-shutoutc"));
 
+    if (!args->camera) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "camera name not provided.");
+        return NULL;
+    }
+    if (!strcasecmp(args->camera, "GPC1")) {
+      args->obscode = psStringCopy("F51");
+    }
+    if (!strcasecmp(args->camera, "GPC2")) {
+      args->obscode = psStringCopy("F52");
+    }
+    if (!args->obscode) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "unknown camera name.");
+        return NULL;
+    }
+
     psTrace("ppMops.args", 1, "Done parsing command-line arguments\n");
 
