Control Reporting of Error Messages

SAF_ERROR_REPORTING is a symbol defined in init.c.

Synopsis:

SAF_ERROR_REPORTING

Description: This is a string valued environment variable that may be set to one of the following values…

1
 none

Means no error reporting. SAF does not print error messages. This is the default for a production compile but may be overridden at anytime by use of this environment variable.

1
 stderr

Means SAF sends its error messages to the stderr stream. This is the default for a serial, development compile. See below for the default for a parallel, development compile. If this mode is selected in parallel, SAF will prepend each message with the rank of the MPI task in the communicator used to initialize SAF (see saf_init) to each line of output in this file.

1
 file: /name/                               // no white space

Where name is a file name, this means SAF will open a stream by this name and send its error messages to this stream. In parallel, SAF will prepend the rank of the task in the communicator used to initialize SAF (see saf_init) to each line of output to this file. However, the order of task’s output to this file is indeterminate.

1
 procfile: /prefix/,/fmt/,/suffix/          // no white space

where prefix and suffix are parts of a name and fmt is a printf style integer format designation for including the task number in the name. For example, in ‘procfile:saf_,%03d,.log”, the prefix is ‘saf_’, task number format designation is ‘%03d’ and the suffix is ‘.log’. If this mode is selected in a serial run, the task number format designation will be ignored. A minor issue with this form of error logging is that it generates one file for each task. If you have a 1,000 task run, you get 1000 files. However, it does keep each task’s outputs separate, unlike the preceding mode. However, the following mode gets around this problem by generating only a single log file and forcing each proc to write to only a given segment of the file.

See Also: