<div dir="ltr">Gah! You&#39;re right, Rick. Thanks for pointing that out. I should&#39;ve read the documentation more closely. Never mind, everyone...<div><br></div><div>Jared</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 26, 2016 at 10:25 AM, Rick Brownrigg <span dir="ltr">&lt;<a href="mailto:brownrig@ucar.edu" target="_blank">brownrig@ucar.edu</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">Hi Jared,<div><br></div><div>I think you need to pass in the variable name as a string, rather than a direct reference (i.e, &quot;var&quot; vs var)</div><div><br></div><div>HTH...</div><div>Rick</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Aug 26, 2016 at 10:02 AM, Jared Lee <span dir="ltr">&lt;<a href="mailto:jaredlee@ucar.edu" target="_blank">jaredlee@ucar.edu</a>&gt;</span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi, I think I&#39;ve found a bug with the functions isdefined and isvar. Whether I pass in a variable from the command line or define it in the script, isdefined() and isvar() both return False, instead of returning True as the documentation says they should. And if I have them test a variable name that has not been defined, then NCL exits with an undefined variable error, instead of returning False as the documentation says they should. See below for a test script and output from the test script that demonstrates the problem.<div><br></div><div>What I need is the ability to test if a variable has been declared (especially via the command line) to avoid crashing the code.<br><div><br></div><div>Here&#39;s the test script, which I called isdefined.ncl:<br></div><div><div><br></div><div><div><div><font face="monospace, monospace">begin</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">print(var)</font></div><div><font face="monospace, monospace">test1 = isdefined(var)</font></div><div><font face="monospace, monospace">test2 = isvar(var)</font></div><div><font face="monospace, monospace">print(var)</font></div><div><font face="monospace, monospace">print(test1)</font></div><div><font face="monospace, monospace">print(test2)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">var = 20</font></div><div><font face="monospace, monospace">test3 = isdefined(var)</font></div><div><font face="monospace, monospace">test4 = isvar(var)</font></div><div><font face="monospace, monospace">print(var)</font></div><div><font face="monospace, monospace">print(test3)</font></div><div><font face="monospace, monospace">print(test4)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">var2 = 20</font></div><div><font face="monospace, monospace">test5 = isdefined(var2)</font></div><div><font face="monospace, monospace">test6 = isvar(var2)</font></div><div><font face="monospace, monospace">print(var2)</font></div><div><font face="monospace, monospace">print(test5)</font></div><div><font face="monospace, monospace">print(test6)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">test7 = isdefined(var3)</font></div><div><font face="monospace, monospace">test8 = isvar(var3)</font></div><div><font face="monospace, monospace">print(test7)</font></div><div><font face="monospace, monospace">print(test8)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">end</font></div></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">And then here is the output:</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="monospace, monospace">jaredlee$ ncl isdefined.ncl &#39;var=10&#39;</font></div><div><font face="monospace, monospace"> Copyright (C) 1995-2015 - All Rights Reserved</font></div><div><font face="monospace, monospace"> University Corporation for Atmospheric Research</font></div><div><font face="monospace, monospace"> NCAR Command Language Version 6.3.0</font></div><div><font face="monospace, monospace"> The use of this software is governed by a License Agreement.</font></div><div><font face="monospace, monospace"> See <a href="http://www.ncl.ucar.edu/" target="_blank">http://www.ncl.ucar.edu/</a> for more details.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: var</font></div><div><font face="monospace, monospace">Type: integer</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>10</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: var</font></div><div><font face="monospace, monospace">Type: integer</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>10</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test1</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test2</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: var</font></div><div><font face="monospace, monospace">Type: integer</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>20</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test3</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test4</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace">warning:Argument 0 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: var2</font></div><div><font face="monospace, monospace">Type: integer</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>20</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test5</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Variable: test6</font></div><div><font face="monospace, monospace">Type: logical</font></div><div><font face="monospace, monospace">Total Size: 4 bytes</font></div><div><font face="monospace, monospace">            1 values</font></div><div><font face="monospace, monospace">Number of Dimensions: 1</font></div><div><font face="monospace, monospace">Dimensions and sizes:<span style="white-space:pre-wrap">        </span>[1]</font></div><div><font face="monospace, monospace">Coordinates: </font></div><div><font face="monospace, monospace">(0)<span style="white-space:pre-wrap">        </span>False</font></div><div><font face="monospace, monospace">fatal:Variable (var3) is undefined</font></div><div><font face="monospace, monospace">fatal:[&quot;Execute.c&quot;:8575]:Execu<wbr>te: Error occurred at or near line 24 in file isdefined.ncl</font></div><span><font color="#888888"><div><br></div><div><br></div><div><br></div><div>-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><div><div><div><div><div><font face="courier new, monospace">==============================<wbr>=<br>Jared A. Lee, Ph.D.<br></font></div><font face="courier new, monospace">Project Scientist I<br></font></div><font face="courier new, monospace">Research Applications Laboratory<br></font></div><font face="courier new, monospace">National Center for Atmospheric Research<br>Boulder, Colorado, USA<br><br></font></div><font face="courier new, monospace">Email: <a href="mailto:jaredlee@ucar.edu" target="_blank">jaredlee@ucar.edu</a> (w)<br></font></div><font face="courier new, monospace">Phone: <a href="tel:303.497.8485" value="+13034978485" target="_blank">303.497.8485</a> (w)</font><div><font face="courier new, monospace">Web: <a href="https://staff.ucar.edu/users/jaredlee" target="_blank">https://staff.ucar.edu/users/j<wbr>aredlee</a><br>==============================<wbr>=</font><br></div></div></div>
</font></span></div></div></div></div>
<br></div></div>______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">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/mailma<wbr>n/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div><div><div><div><font face="courier new, monospace">===============================<br>Jared A. Lee, Ph.D.<br></font></div><font face="courier new, monospace">Project Scientist I<br></font></div><font face="courier new, monospace">Research Applications Laboratory<br></font></div><font face="courier new, monospace">National Center for Atmospheric Research<br>Boulder, Colorado, USA<br><br></font></div><font face="courier new, monospace">Email: <a href="mailto:jaredlee@ucar.edu" target="_blank">jaredlee@ucar.edu</a> (w)<br></font></div><font face="courier new, monospace">Phone: 303.497.8485 (w)</font><div><font face="courier new, monospace">Web: <a href="https://staff.ucar.edu/users/jaredlee" target="_blank">https://staff.ucar.edu/users/jaredlee</a><br>===============================</font><br></div></div></div>
</div>