Index: branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.c
===================================================================
--- branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.c	(revision 42208)
+++ branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.c	(revision 42209)
@@ -48,4 +48,11 @@
         psArgumentRemove(argNum, &argc, argv);
         ppsim_recipe = psStringCopy (argv[argNum]);
+        psArgumentRemove(argNum, &argc, argv);
+    }
+
+    char *refcat = NULL;
+    if ((argNum = psArgumentGet (argc, argv, "-refcat"))) {
+        psArgumentRemove(argNum, &argc, argv);
+        refcat = psStringCopy (argv[argNum]);
         psArgumentRemove(argNum, &argc, argv);
     }
@@ -96,4 +103,5 @@
         fprintf (stderr, " -label (label)\n");
         fprintf (stderr, " -dvodb (dvodb)\n");
+        fprintf (stderr, " -refcat (catdir)\n");
         fprintf (stderr, " -tess_id (tess_id)\n");
         exit (2);
@@ -242,5 +250,5 @@
         }
         if (!strcasecmp (type, "OBJECT")) {
-            ppSimSequenceObject (simfile, inject, sequence, i, rng, path, basename, ppSimCommandReal, injectCommandReal, files);
+            ppSimSequenceObject (simfile, inject, sequence, i, rng, path, basename, refcat, ppSimCommandReal, injectCommandReal, files);
 	    psFree (injectCommandReal);
 	    psFree (ppSimCommandReal);
Index: branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.h
===================================================================
--- branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.h	(revision 42208)
+++ branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequence.h	(revision 42209)
@@ -15,5 +15,5 @@
 bool ppSimSequenceDark 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *ppSimCommand, const char *injectCommand, psArray *files);
 bool ppSimSequenceFlat 	 (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *ppSimCommand, const char *injectCommand, psArray *files);
-bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *ppSimCommand, const char *injectCommand, psArray *files);
+bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *refcat, const char *ppSimCommand, const char *injectCommand, psArray *files);
 
 #endif
Index: branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequenceObject.c
===================================================================
--- branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequenceObject.c	(revision 42208)
+++ branches/eam_branches/ipp-20220316/ppSim/src/ppSimSequenceObject.c	(revision 42209)
@@ -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 *ppSimCommand, const char *injectCommand, psArray *files) {
+bool ppSimSequenceObject (FILE *simfile, FILE *inject, psMetadata *sequence, int nSeq, psRandom *rng, const char *path, const char *basename, const char *refcat, const char *ppSimCommand, const char *injectCommand, psArray *files) {
 
     bool status;
@@ -97,4 +97,6 @@
 			    psStringAppend (&command, " -obs_mode OBJECT.%s", (char *) filters->data[i]);
 
+			    if (refcat) { psStringAppend (&command, " -D PSASTRO:PSASTRO.CATDIR %s", refcat); }
+
 			    double frnd = psRandomUniform(rng);
 			    float seeing = IQmin + (IQmax - IQmin)*frnd;
