<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:΢ÈíÑźÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br>Dennis,<br>Thanks. So great. I will use it as soon as possible and let you know if any problem I still have.<br>Best,<br>Ting<br><div><hr id="stopSpelling">Date: Fri, 24 Apr 2015 15:40:31 -0600<br>Subject: Re: [ncl-talk] how to get the dimension size in netcdf file<br>From: shea@ucar.edu<br>To: dbrown@ucar.edu<br>CC: leiting2002@hotmail.com; ncl-talk@ucar.edu<br><br><div dir="ltr"><div><div><div><div><div>Likely, I am misunderstanding<br></div><div><br>undef("LeiTing")<br></div>function LeiTing(f:file, dimName:string)<br></div><div>local dNames, dSizes, i<br></div>begin<br><br>&nbsp;&nbsp; dNames= getvardims(f)&nbsp; <br>&nbsp;&nbsp; dSizes&nbsp;&nbsp; = getfiledimsizes(f)&nbsp; <br><br></div><div>&nbsp;&nbsp; i = ind(dNames.eq.dimName)<br></div><div>&nbsp;&nbsp; if (.not.ismissing(i)) then<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(dSizes(i))<br></div><div>&nbsp;&nbsp; else<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("LeiTing: FATAL: dimName="+dimName+" not present")<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("dNames+"&nbsp;&nbsp; "+dSizes)<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit<br></div><div>&nbsp;&nbsp; end if<br><br></div>end<br><br></div>The above can be expanded to multiple 'dimNames'<br><br></div>D<br></div><div class="ecxgmail_extra"><br><div class="ecxgmail_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="ecxgmail_quote" style="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>
&nbsp;-dave<br>
<div class="ecxHOEnZb"><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 'f' (below) has a dual nature ... It is both a variable and a file<br>
&gt; reference<br>
&gt;<br>
&gt;&nbsp; &nbsp; f = addfile("...","r")<br>
&gt;<br>
&gt;&nbsp; &nbsp; dNames= getvardims(f)<br>
&gt;&nbsp; &nbsp; dSizes&nbsp; &nbsp;= getfiledimsizes(f)<br>
&gt;&nbsp; &nbsp; print (dNames+"&nbsp; &nbsp;"+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'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 "smarter" 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'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'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 "sparse grid" 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 '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 'm lost on how to access those definitions of "lat" and<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; "lon"<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></div>                                               </div></body>
</html>