This class does very little by itself.
However, it provides an environment convenient for doing a
discrete stage of processing, which child classes may inherit.
The options are read and stored so that child classes may use them.
Typically the constructor will be invoked with no arguments.
The log object.
Parfile for the processing script.
Sequence-specific parfile object.
Filename generator object.
The top level directory for the mission specific code.
The top level directory for the mission independant code.
Name of the processing script.
Return a unique name for this subroutine.
Check the proc_command and proc_status job.par parameters
to see if we need to do anything special like stop or resume
This method returns true if we should not continue on to run the
Returns the name of a temporary file whose name is based on the given string.
The file name is guaranteed to be unique. In other words, there will be
no existing files with the returned name at the time this method is called.
The object keeps track of the temporary file names and deletes them
in the cleanup phase.
Do initialization before running the body method.
Puts a "milestone" entry in the log.
Do any necessary cleanup after running the body method.
This method doesn't do much, but it may be
overridden by sub-classes.
This is the method which does all the work. For this general
class it does nothing, but it is intended to be overridden
This method should be invoked to run the subroutine. It calls
the init, body, and cleanup methods in that order.
This function called when the Sub module is compiled.
It initializes the class data and sets up the processing environment.