6 oracdr

ORAC Data Reduction pipeline


  oracdr [-options] [RECIPE]  
  oracdr -from 5  
  oracdr -ut 19990523 -list 15:35,40,44 -batch


oracdr is the actual ORAC-DR data reduction pipeline. This document describes the command line options that can be used to modify the pipeline operation.


The following argument is supported:


All ORAC-DR behaviour is controlled by the option switches. These options may be abbreviated to a unique substring. It is via command line switches that you (for example) control the range of file numbers to be reduced, force the system to use a particular calibration file when reducing (e.g. to try a different flat exposure). This list needs to be read thoroughly by anyone wanting to use the system.

General Options

List help text. This prints a summary of this document.


Print the version number.


Print messages from the Starlink engines (rather than just ORAC-DR messages).


Print the full documentation.


Log debug messages to file ORACDR.DEBUG in $ORAC_DATA_OUT.


Turn on perl level warning messages (perl -w). This should be used for debugging only. If -verbose is also true then full perl diagnostics are turned on (see diagnostics for more information on this perl pragma).


Make as much noise as possible over errors and pipeline exit. Default is not to beep.


Show help text for the given recipe.

Windows and output

Do not launch the display system. No data will be displayed and GWM, GAIA etc. windows will not be launched.


Launch a recipe viewer window along with the log Xwindow

-log s

Log to terminal screen (standard out)

-log f

Log to a file. The logfile is called .oracdr_NNNN.log where NNNN is the current process ID. It is written to $ORAC_DATA_OUT and is a hidden file.

-log h

Log to a file using HTML to provide formatting. The logfile is called .oracdr_NNNN.html where NNNN is the current process ID. It is written to $ORAC_DATA_OUT and is a hidden file.

-log x

Log to an X window. Has the advantage that warnings, errors and results are written to different, independently scrollable windows. The plus and minus keys can be used to adjust the font size.

The three log options can be combined. The default is -log sx

To run ORAC-DR using output only within the xterm that you used to invoke it in, use -nodisplay -log s. This is the fastest way to run the pipeline if you are not interested in visually inspecting the data as it is being reduced.


Number of first observation.


Number of last observation.


Comma separated list of observation numbers. Colons indicate a range. For example, ‘1,2,4:6,10’ means 1,2,4,5,6,10.


File name of a flat ASCII text file containing a list of observation files to be reduced, one file per line. Path information should be either relative to $ORAC_DATA_IN, or the absolute path.

UT date

UT date of observations (defaults to current yyyymmdd). When the instrument specific setup scripts are run, oracdr is automatically aliased to use the correct -ut option. The UT is required for UKIRT and JCMT instruments as it forms part of the file naming convention for data files.

Recipe Selection and Modification

Modify the recipe search algorithm such that a recipe variant can be selected if available. For example with ‘-recsuffix QL’ a recipe named MYRECIPE_QL would be picked up in preference to MYRECIPE.

Multiple suffices can be supplied using a comma separator.

 -recsuffix QL1,QL2

Recipe behaviour can be controlled by specifying a recipe parameters file. This is a file in INI format with a block per recipe name.


Parameters to be supplied for all recipes can also be specified explicity, overriding any parameters in the file. Note however that only one file may be specified. For example:


Specify a file containing header information which should be used to override that found in the data files. Typically used only for legacy data where headers are missing or incorrect. The file is in INI format, with one block per file, e.g.:



Enables "WESLEY" pre-processing mode.

Calibration options.

Used to specify calibration overrides. Accepts comma separated key=value pairs. (e.g. ‘-cal dark=file1’ or ‘-cal dark=file1,bias=file2’). The allowed options depends on the instrument that is in use.

See Calibrating for more information on how the pipeline deals with calibrations.

Looping options

The -loop option specifies the type of data detection loop. Allowed values are ‘list’, ‘inf’, ‘wait’, ‘flag’ or ’file’. In almost all cases of offline use, ‘inf’ is most appropriate.

-loop list

Default when using the -list option. The pipeline will stop once the observations in the list have been reduced.

-loop wait

Waits for data to appear before timing out. Data is reduced and the pipeline waits for the next file.

-loop inf

Do not wait for data. Simply reduce data starting with observation specified by -from and continuing until no more files are present. Implicitly used when -from is specified. This is the fastest way of reducing data offline.

-loop flag

Waits for completion files to appear (flags) before processing the data. Data is reduced and the pipeline waits for more data by checking the presence of a flag.

-loop file

Works much like -loop list except that looping is carried out over a list of arbitarly named files input from the -files command line option.

-loop task

Obtain data from a remote (DRAMA) task.

See DataLoops for more information on looping schemes.

Group processing options

Run in batch mode. Precalculate groups before processing data. ‘wait’ loop mode should not be used with this option. NOTE only JCMT recipes support this option.


Allow the data detection loop to skip missing observations. Default is to stop the loop when an expected file can not be found.


Continue after errors thrown in processing. This setting should not be used at the telescope.


Allow the pipeline to resume midway through the processing of a group. (so long as the recipe/instrument supports this behaviour). Default is for the group file to be deleted when a new group is created. When -resume is set, the group file is retained. NOTE this option is not currently supported by IRCAM, UFTI and SCUBA recipes.


Groups are presumed to be transinet and no longer needed when a new group is created. This is useful when you know that groups can not be broken up. Has no effect in batch mode. Memory usage will be significantly lower if many hundreds of frames and groups are to be processed.

This option is not the same as setting the ORAC_NOGROUPS environment variable. That environment variable disables all group processing whereas this command line option ensures that only a single group is being processed.


All given observations and files are processed in the same group. Be careful in using this option, as sometimes this may not be what you want (i.e. if you’re processing ACSIS data at two different frequencies).

The Frame grouping string is not affected.


Forces the grouping string to take the specified value. This means that all frames will be combined into a single group as for "-onegroup" but the grouping string in each Frame will take this value. This is important if the string should end up in output group files (e.g. the ASN_ID in JCMT Science Archive data).

Engine Options

Do not start algorithm engines. NOTE this will cause the vast majority of recipes to fail.


Do not create an invocation specific temporary directory for the messaging systems but use whatever directory is the usual default. For ADAM tasks this would mean that ˜/adam or $ADAM_USER will be used rather than a private ORAC-DR directory. This should only be used when it is required for ORAC-DR to talk to tasks that were not started by the pipeline and could lead to possible confusion if multiple pipelines are running using this flag.


Frossie Economou (frossie@jach.hawaii.edu), Tim Jenness (t.jenness@jach.hawaii.edu), Alasdair Allan (aa@astro.ex.ac.uk), Brad Cavanagh (b.cavanagh@jach.hawaii.edu)


Copyright (C) 1998-2010 Science and Technology Facilities Council. All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place,Suite 330, Boston, MA 02111-1307, USA