Index: trunk/ippScripts/scripts/diff_skycell.pl
===================================================================
--- trunk/ippScripts/scripts/diff_skycell.pl	(revision 20338)
+++ trunk/ippScripts/scripts/diff_skycell.pl	(revision 20369)
@@ -27,5 +27,5 @@
 use Pod::Usage qw( pod2usage );
 
-my ($diff_id, $dbname, $threads, $outroot, $verbose, $no_update, $no_op, $redirect);
+my ($diff_id, $dbname, $threads, $outroot, $reduction, $verbose, $no_update, $no_op, $redirect);
 GetOptions(
     'diff_id|d=s'       => \$diff_id, # Diff identifier
@@ -33,4 +33,5 @@
     'threads=s'         => \$threads,   # Number of threads to use
     'outroot=s'         => \$outroot, # Output root name
+    'reduction=s'       => \$reduction, # Reduction class
     'verbose'           => \$verbose,   # Print to stdout
     'no-update'         => \$no_update, # Don't update the database?
@@ -60,4 +61,12 @@
     warn("Can't find required tools.");
     exit($PS_EXIT_CONFIG_ERROR);
+}
+
+# Recipes to use based on reduction class
+$reduction = 'DEFAULT' unless defined $reduction;
+my $recipe_ppSub = $ipprc->reduction($reduction, 'DIFF_PPSUB'); # Recipe to use for ppSub
+my $recipe_psphot  = $ipprc->reduction($reduction, 'DIFF_PSPHOT'); # Recipe to use for psphot
+unless ($recipe_ppSub and $recipe_psphot) {
+    &my_die("Couldn't find selected reduction for DIFF_PPSUB and DIFF_PSPHOT: $reduction\n", $diff_id, $PS_EXIT_CONFIG_ERROR);
 }
 
@@ -192,4 +201,6 @@
     $command .= " -stats $outputStats";
     $command .= " -threads $threads" if defined $threads;
+    $command .= " -recipe PPSUB $recipe_ppSub";
+    $command .= " -recipe PSPHOT $recipe_psphot";
     $command .= " -recipe PPSTATS WARPSTATS";
     $command .= " -F PSPHOT.OUTPUT PSPHOT.OUT.CMF.MEF";
