com.isti.jevalresp
Class RunBlks

java.lang.Object
  extended by com.isti.jevalresp.RunBlks

public class RunBlks
extends java.lang.Object

Class RunBlks is an alternate execution manager for 'JEvalResp' that processes responses into an array of 'RespInfoBlk' objects before outputting them.


Field Summary
protected static java.lang.String[] RESP_TYPE_STRS
           
 
Constructor Summary
RunBlks()
           
 
Method Summary
 int getExitStatusValue()
          Returns the exit status value for the program.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean stdioFlag)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean stdioFlag)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean listInterpOutFlag, boolean listInterpInFlag, double listInterpTension, boolean stdioFlag)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean listInterpOutFlag, boolean listInterpInFlag, double listInterpTension, boolean unwrapPhaseFlag, boolean totalSensitFlag, boolean stdioFlag, java.io.File outputDirectory)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean listInterpOutFlag, boolean listInterpInFlag, double listInterpTension, boolean unwrapPhaseFlag, boolean totalSensitFlag, double b62XValue, boolean stdioFlag, java.io.File outputDirectory)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean listInterpOutFlag, boolean listInterpInFlag, double listInterpTension, boolean stdioFlag, java.io.File outputDirectory)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean useDelayFlag, boolean showInputFlag, boolean stdioFlag, java.io.File outputDirectory)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.
 RespInfoBlk[] rBlksEvresp(java.lang.String staListStr, java.lang.String chaListStr, java.lang.String netListStr, java.lang.String siteListStr, java.lang.String dateStr, java.lang.String outUnitsConvStr, java.lang.String fileNameParam, double[] freqArr, boolean verboseFlag, int startStageNum, int stopStageNum, boolean stdioFlag, java.io.File outputDirectory)
          Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.
 boolean rBlksWriteResponse(RespInfoBlk[] respBlkArr, java.lang.String respTypeStr, boolean stdioFlag)
          Writes the output for the given array of 'RespInfoBlk' objects, using the current directory.
 boolean rBlksWriteResponse(RespInfoBlk[] respBlkArr, java.lang.String respTypeStr, boolean stdioFlag, java.io.File outputDirectory)
          Writes the output for the given array of 'RespInfoBlk' objects.
protected  void setErr(int statusVal, java.lang.String errMsgStr)
          Sets the exit status code and message for an error exit from the program.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESP_TYPE_STRS

protected static final java.lang.String[] RESP_TYPE_STRS
Constructor Detail

RunBlks

public RunBlks()
Method Detail

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean listInterpOutFlag,
                                 boolean listInterpInFlag,
                                 double listInterpTension,
                                 boolean unwrapPhaseFlag,
                                 boolean totalSensitFlag,
                                 double b62XValue,
                                 boolean stdioFlag,
                                 java.io.File outputDirectory)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
listInterpOutFlag - true to interpolate amp/phase output from responses containing List blockettes.
listInterpInFlag - true to interpolate amp/phase input from List blockettes in responses (before output is calculated).
listInterpTension - tension value for List-blockette interpolation algorithm.
unwrapPhaseFlag - true to unwrap phase output values.
totalSensitFlag - true to use stage 0 (total) sensitivity; false to use computed sensitivity.
b62XValue - sample value for polynomial blockette (62).
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean listInterpOutFlag,
                                 boolean listInterpInFlag,
                                 double listInterpTension,
                                 boolean unwrapPhaseFlag,
                                 boolean totalSensitFlag,
                                 boolean stdioFlag,
                                 java.io.File outputDirectory)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
listInterpOutFlag - true to interpolate amp/phase output from responses containing List blockettes.
listInterpInFlag - true to interpolate amp/phase input from List blockettes in responses (before output is calculated).
listInterpTension - tension value for List-blockette interpolation algorithm.
unwrapPhaseFlag - true to unwrap phase output values.
totalSensitFlag - true to use stage 0 (total) sensitivity; false to use computed sensitivity.
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean listInterpOutFlag,
                                 boolean listInterpInFlag,
                                 double listInterpTension,
                                 boolean stdioFlag,
                                 java.io.File outputDirectory)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
listInterpOutFlag - true to interpolate amp/phase output from responses containing List blockettes.
listInterpInFlag - true to interpolate amp/phase input from List blockettes in responses (before output is calculated).
listInterpTension - tension value for List-blockette interpolation algorithm.
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean stdioFlag,
                                 java.io.File outputDirectory)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean stdioFlag,
                                 java.io.File outputDirectory)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean listInterpOutFlag,
                                 boolean listInterpInFlag,
                                 double listInterpTension,
                                 boolean stdioFlag)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
listInterpOutFlag - true to interpolate amp/phase output from responses containing List blockettes.
listInterpInFlag - true to interpolate amp/phase input from List blockettes in responses (before output is calculated).
listInterpTension - tension value for List-blockette interpolation algorithm.
stdioFlag - true for output to 'stdout', false for output to files.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean useDelayFlag,
                                 boolean showInputFlag,
                                 boolean stdioFlag)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
useDelayFlag - true to use estimated delay in phase calculation.
showInputFlag - true to show RESP input text (sent to stdout).
stdioFlag - true for output to 'stdout', false for output to files.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksEvresp

public RespInfoBlk[] rBlksEvresp(java.lang.String staListStr,
                                 java.lang.String chaListStr,
                                 java.lang.String netListStr,
                                 java.lang.String siteListStr,
                                 java.lang.String dateStr,
                                 java.lang.String outUnitsConvStr,
                                 java.lang.String fileNameParam,
                                 double[] freqArr,
                                 boolean verboseFlag,
                                 int startStageNum,
                                 int stopStageNum,
                                 boolean stdioFlag)
Finds and processes responses, returning the output in an array of 'RespInfoBlk' objects, using the current directory.

Parameters:
staListStr - a list of station name patterns to search for, or a null or empty string to accept all station names.
chaListStr - a list of channel name patterns to search for, or a null or empty string to accept all channel names.
netListStr - a list of network name patterns to search for, or a null or empty string to accept all network names.
siteListStr - a list of site name patterns to search for, or a null or empty string to accept all site names.
dateStr - a string version of a date to search for, or null to accept all dates.
outUnitsConvStr - output units conversion string for the requested output units type; one of the 'UNIT_CONV_STRS' strings.
fileNameParam - a specific filename (or directory) to use, or a null or empty string for all matching files.
freqArr - an array of frequency values to use.
verboseFlag - true for verbose output messages.
startStageNum - if greater than zero then the start of the range of stage sequence numbers to use, otherwise all stages are used.
stopStageNum - if greater than zero then the end of the range of stage sequence numbers to use, otherwise only the single stage specified by 'startStageNum' is used.
stdioFlag - true for output to 'stdout', false for output to files.
Returns:
An array of 'RespInfoBlk' objects, or null if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksWriteResponse

public boolean rBlksWriteResponse(RespInfoBlk[] respBlkArr,
                                  java.lang.String respTypeStr,
                                  boolean stdioFlag,
                                  java.io.File outputDirectory)
Writes the output for the given array of 'RespInfoBlk' objects.

Parameters:
respBlkArr - an array of response blocks to be outputted.
respTypeStr - a string indicating the type of response data to be generated ("ap" or "cs").
stdioFlag - true for output to 'stdout', false for output to files.
outputDirectory - output directory, or null for current directory.
Returns:
true if successful, false if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

rBlksWriteResponse

public boolean rBlksWriteResponse(RespInfoBlk[] respBlkArr,
                                  java.lang.String respTypeStr,
                                  boolean stdioFlag)
Writes the output for the given array of 'RespInfoBlk' objects, using the current directory.

Parameters:
respBlkArr - an array of response blocks to be outputted.
respTypeStr - a string indicating the type of response data to be generated ("ap" or "cs").
stdioFlag - true for output to 'stdout', false for output to files.
Returns:
true if successful, false if an error occurred (in which case a message will be sent to 'stderr' and an exit status code will be set that may fetched via the 'getExitStatusValue()' method).

setErr

protected void setErr(int statusVal,
                      java.lang.String errMsgStr)
Sets the exit status code and message for an error exit from the program.

Parameters:
statusVal - exit status value to be returned by program.
errMsgStr - if specified then the error message to be sent to 'stderr'.

getExitStatusValue

public int getExitStatusValue()
Returns the exit status value for the program.

Returns:
the exit status value for the program.