<div dir="ltr"><div><div><div><div><div>Likely, I am misunderstanding<br></div><div><br>undef(&quot;LeiTing&quot;)<br></div>function LeiTing(f:file, dimName:string)<br></div><div>local dNames, dSizes, i<br></div>begin<br><br>   dNames= getvardims(f)  <br>   dSizes   = getfiledimsizes(f)  <br><br></div><div>   i = ind(dNames.eq.dimName)<br></div><div>   if (.not.ismissing(i)) then<br></div><div>       return(dSizes(i))<br></div><div>   else<br></div><div>       print(&quot;LeiTing: FATAL: dimName=&quot;+dimName+&quot; not present&quot;)<br></div><div>       print(&quot;dNames+&quot;   &quot;+dSizes)<br></div><div>       exit<br></div><div>   end if<br><br></div>end<br><br></div>The above can be expanded to multiple &#39;dimNames&#39;<br><br></div>D<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 24, 2015 at 3:19 PM, David Brown <span dir="ltr">&lt;<a href="mailto:dbrown@ucar.edu" target="_blank">dbrown@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">Hi Dennis,<br>
That was my original suggestion -- at least indirectly -- since that<br>
is what the example in getfiledimsizes does.<br>
<br>
My understanding is that Ting would like a function something like<br>
getdimsize(f, dimname). Or more likely a plural version that would<br>
work with an array of dimnames.<br>
 -dave<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Fri, Apr 24, 2015 at 3:01 PM, Dennis Shea &lt;<a href="mailto:shea@ucar.edu">shea@ucar.edu</a>&gt; wrote:<br>
&gt; Is this what you want?<br>
&gt;<br>
&gt; Remember &#39;f&#39; (below) has a dual nature ... It is both a variable and a file<br>
&gt; reference<br>
&gt;<br>
&gt;    f = addfile(&quot;...&quot;,&quot;r&quot;)<br>
&gt;<br>
&gt;    dNames= getvardims(f)<br>
&gt;    dSizes   = getfiledimsizes(f)<br>
&gt;    print (dNames+&quot;   &quot;+dSizes)<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 24, 2015 at 2:45 PM, LeiTing &lt;<a href="mailto:leiting2002@hotmail.com">leiting2002@hotmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Dave and Alan,<br>
&gt;&gt; My apology for causing that misunderstanding.<br>
&gt;&gt; Dave, you are right! I missed that function is aksing for a dim size of a<br>
&gt;&gt; variable.<br>
&gt;&gt; In my case, those dimensions are only defined however not used for any<br>
&gt;&gt; variables, which are still significant.<br>
&gt;&gt; Thanks again.<br>
&gt;&gt; Best,<br>
&gt;&gt; Ting<br>
&gt;&gt;<br>
&gt;&gt; &gt; Date: Fri, 24 Apr 2015 14:25:53 -0600<br>
&gt;&gt; &gt; Subject: Re: [ncl-talk] how to get the dimension size in netcdf file<br>
&gt;&gt; &gt; From: <a href="mailto:dbrown@ucar.edu">dbrown@ucar.edu</a><br>
&gt;&gt; &gt; To: <a href="mailto:abrammer@albany.edu">abrammer@albany.edu</a><br>
&gt;&gt; &gt; CC: <a href="mailto:leiting2002@hotmail.com">leiting2002@hotmail.com</a>; <a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; getfilevardimsizes gets the sizes of the dimensions the apply to a<br>
&gt;&gt; &gt; specific variable. I thought the question was how to get the size of a<br>
&gt;&gt; &gt; dimension by name from the file without specifying a particular<br>
&gt;&gt; &gt; variable.<br>
&gt;&gt; &gt; -dave<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Fri, Apr 24, 2015 at 12:53 PM, Alan Brammer &lt;<a href="mailto:abrammer@albany.edu">abrammer@albany.edu</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt; &gt; Isn&#39;t that functionality in this function?<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; <a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/getfilevardimsizes.shtml" target="_blank">https://www.ncl.ucar.edu/Document/Functions/Built-in/getfilevardimsizes.shtml</a><br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; Alan.<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; On 24 April 2015 at 14:36, David Brown &lt;<a href="mailto:dbrown@ucar.edu">dbrown@ucar.edu</a>&gt; wrote:<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; Well we would need to create another function to do that. We will<br>
&gt;&gt; &gt; &gt;&gt; consider it. Thanks for the suggestion.<br>
&gt;&gt; &gt; &gt;&gt; -dave<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; On Fri, Apr 24, 2015 at 12:32 PM, LeiTing &lt;<a href="mailto:leiting2002@hotmail.com">leiting2002@hotmail.com</a>&gt;<br>
&gt;&gt; &gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt; &gt;&gt; &gt; Dave,<br>
&gt;&gt; &gt; &gt;&gt; &gt; Thank you so much. That is already the solution I need.<br>
&gt;&gt; &gt; &gt;&gt; &gt; However, can NCL be &quot;smarter&quot; that ,say, I can directly ask for the<br>
&gt;&gt; &gt; &gt;&gt; &gt; size<br>
&gt;&gt; &gt; &gt;&gt; &gt; of<br>
&gt;&gt; &gt; &gt;&gt; &gt; a named dimension?<br>
&gt;&gt; &gt; &gt;&gt; &gt; I know I can do it after using the function you pointed out,<br>
&gt;&gt; &gt; &gt;&gt; &gt; however,<br>
&gt;&gt; &gt; &gt;&gt; &gt; I&#39;m<br>
&gt;&gt; &gt; &gt;&gt; &gt; just wondering if there are some tip that directly do it.<br>
&gt;&gt; &gt; &gt;&gt; &gt; Thanks a lot.<br>
&gt;&gt; &gt; &gt;&gt; &gt; Ting<br>
&gt;&gt; &gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; Date: Fri, 24 Apr 2015 12:01:50 -0600<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; Subject: Re: [ncl-talk] how to get the dimension size in netcdf<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; file<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; From: <a href="mailto:dbrown@ucar.edu">dbrown@ucar.edu</a><br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; To: <a href="mailto:leiting2002@hotmail.com">leiting2002@hotmail.com</a><br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; CC: <a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
&gt;&gt; &gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; Hi Ting,<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; getfiledimsizes is the function to use.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; See<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; <a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/getfiledimsizes.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Functions/Built-in/getfiledimsizes.shtml</a><br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; The example shows how to get the dimensions names along with the<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; sizes.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; -dave<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; On Fri, Apr 24, 2015 at 10:12 AM, LeiTing<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &lt;<a href="mailto:leiting2002@hotmail.com">leiting2002@hotmail.com</a>&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Dear Ncl folks,<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I apologize first if this is a duplicated question though I<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; haven&#39;t<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; found<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; it.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I have a netcdf file (the &quot;sparse grid&quot; by NSSL), with ncdump<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; output<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; as<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; ^^^^^^^^^^^^<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; dimensions:<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Lat = 236 ;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Lon = 355 ;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; pixel = 12596 ;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; variables:<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; float RefQC(pixel) ;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; ..............................<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; VV<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I want to get the dimension lat and lon, which can &#39;t be<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; obtained by<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; ,say,<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; dimsize (RefQC).<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; They are also not global attributes.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Hence, I &#39;m lost on how to access those definitions of &quot;lat&quot; and<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; &quot;lon&quot;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; in<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; the netcdf file.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Your help is appreciated.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Best wishes,<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Ting<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; ncl-talk mailing list<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; List instructions, subscriber options, unsubscribe:<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt; &gt;&gt; ncl-talk mailing list<br>
&gt;&gt; &gt; &gt;&gt; List instructions, subscriber options, unsubscribe:<br>
&gt;&gt; &gt; &gt;&gt; <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; ncl-talk mailing list<br>
&gt;&gt; List instructions, subscriber options, unsubscribe:<br>
&gt;&gt; <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
&gt;&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>