Program Output is Delayed
If a shell command is used in bash which involves redirection (for example, combining streams and redirecting to the "tee" program) bash may buffer a considerable amount of the program output. This means it will appear as though the program is producing no output, when actually the output has not yet been released.
To change this behavior, you can use bash's "unbuffer" command:
unbuffer ncl OMIscatterPlots.ncl 2>&1 | tee program.out