<div dir="ltr">Would the following do what you want?<br><br><a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/status_exit.shtml">http://www.ncl.ucar.edu/Document/Functions/Built-in/status_exit.shtml</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 7, 2016 at 5:21 AM, Andrew Dawson <span dir="ltr">&lt;<a href="mailto:dawson@atm.ox.ac.uk" target="_blank">dawson@atm.ox.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I&#39;d like to know if it is possible to make NCL exit with a non-zero status when it encounters a fatal error such as a subscrip error while running a script? If not, could this be considered for a future version?</div><div><br></div><div>Some background:</div><div><br></div>We are running an NCL program in a batch job, and would like to detect if the NCL program has failed. Within the program we have error checking that calls status_exit with a non-zero status when we identify a fatal error, and we can detect these errors from the shell script that calls NCL via the process exit status $?. All fine so far.<div><br></div><div>However, we discovered one of our programs may sometimes suffer a run-time error due to incomplete data files, the form of this error is a subscript out of range error, a fatal error that terminates the NCL process. Unfortunately when NCL terminates it returns exit status 0, so we cannot detect the failure directly in the shell. Instead we have to either capture the output of the program and search for error messages, or re-write the program so that this potential error condition is explicitly checked and use a manual call to status_exit.</div><div><br></div><div>A simple program to reproduce this is:</div><div><br></div><div><div><font face="monospace, monospace">begin</font></div><div><font face="monospace, monospace">    a = (/ 1 /)</font></div><div><font face="monospace, monospace">    print(a(1))</font></div><div><font face="monospace, monospace">    print(&quot;I won&#39;t be printed&quot;)</font></div><div><font face="monospace, monospace">end</font></div></div><div><br></div><div>When run this program will terminate with a fatal error on the second line, and the last line will not be executed, but the exit status of the ncl process will be 0. It would be super convenient if the exit status was non-zero in this case.</div><div><br></div><div>I&#39;m using NCL v6.3.0 on Linux x64</div><div><br></div><div>Thanks</div><span class="HOEnZb"><font color="#888888"><div>Andrew<br><div data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div></div></div></div></div></div></div></div>
</div></font></span></div>
<br>_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>