<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Dear Guido,<br><br></div>Good day!<br><br></div>It seems to me that <b>&quot;mask&quot;</b> function is better for me as I am extracting data for 24 hours. I don&#39;t want to use &quot;<b>where&quot;</b> function as it needs a loop. Finally, I wrote the script as follows:<br><br>T2 = f_1-&gt;T2(0:24,:,:)<br>LU_INDEX = f_1-&gt;LU_INDEX(0,:,:)       ; (LU_INDEX = landuse index)<br>T2_masked = mask(T2,(LU_INDEX.ne.2), False)<br>print(T2_masked)<br><br></div><div>Then I am trying to get area average temperature for 24 hours and calculated area average as follows:<br><br></div>T2_area_avg = dim_avg_n_Wrap(T2_masked,(/1,2/))<br></div>print(T2_area_avg)<br><br></div>After printing T2_area_avg, I&#39;m getting a set of real values for 24 hours. <br><br></div>But I&#39;m not sure whether T2_area_avg accurately left all missing vales. Also, I&#39;m not getting a way to check which values (only real or both real and missing values) are considered for T2_area_avg calculation. You said that NCL deals with missing values without problem. <b>Could you please tell me how NCL is dealing with missing values for calculating T2_area_avg. </b><br><br></div><b>Is &quot;dim_avg_n_Wrap&quot; function only considering the real values without missing values??? </b><br><br></div>Ardently looking forward to your further advise.<br><br></div>Kind regards,<br></div>Imran<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 15, 2017 at 1:08 AM, Imran Hosen <span dir="ltr">&lt;<a href="mailto:hosen.imran09@gmail.com" target="_blank">hosen.imran09@gmail.com</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 Guido and Barry,<div><br></div><div>Thanks again for your further advices. </div><div><br></div><div>Actually, in the study domain, it has 117 rows*117 columns (total 13689 grids). The grids have different land use index (LU_INDEX). I ran simulations using the WRF model for simulating different climate variables. Now, my goal is, I want to plot (XY plot) the hourly temperature difference between the grid cells whose LU_INDEX=2 and LU_INDEX=1. Therefore, I want to extract temperature seperately for the grid cells whose LU_INDEX=2. I&#39;ll do same thing for the grid cells whose LU_INDEX=1. Then I will make XY plot, although I never experinced NCL for making XY plot. Hope, now you will understand my goal.</div><div><br></div><div>If I use mask function as the script I wrote, then T2_masked = T2 (only for the grid cells where LU_INDEX is not equal to 2), right??? So, I made a mistake in my script, and I should follow your previous suggestion, right??</div><div><br></div><div>When I use mask or where function, it is showing both real and FillValue. Really, I want to extract only real values for the grid cells where LU_INDEX=2 and want to escape the FillValues.</div><div><br></div><div>Okay, I&#39;ll try to implement your advice and let you know the update.</div><div><br></div><div>Wish your uninterrupted sound health.</div><div><br></div><div>Kind regards,</div><div>Imran</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 14, 2017 at 8:24 PM, Guido Cioni <span dir="ltr">&lt;<a href="mailto:guidocioni@gmail.com" target="_blank">guidocioni@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Can you tell me what is the final goal? Otherwise it is really difficult to give you advices :) <div><br><div>Are you <u>sure</u> that your script is working correctly? As far as I understand the <font face="Menlo">mask</font> function acts only on the values where the mask array condition is true, so in your case <font face="Menlo">T2_masked</font> should be untouched, i.e. <font face="Menlo">T2_masked=T2</font>. Have you tried printing or plotting the difference <font face="Menlo">T2-T2_masked</font>?You should instead mask all the points that <u>DO NOT</u> have <font face="Menlo">LU_INDEX=2</font>, as I previously suggested. Furthermore, you should set the <font face="Menlo">FillValue</font> BEFORE calling mask, otherwise the <font face="Menlo">True</font>, <font face="Menlo">False</font> conditions will not apply correctly. If you are more confident with the <font face="Menlo">where</font> syntax use something like this</div><div><br></div><div><font face="Menlo">where( LU_INDEX=2, T2(time_i,:,:), T2@_FilllValue)</font></div><div><br></div><div>However you would need to do that for every time instant with a loop...</div><div><br></div><div>Now to the other question. <u>Are you really sure</u> that you want to SUBSET your data given a certain condition? If you just need to extract statistics from those data having the original array masked is the best way to go as NCL will deal with Missing Values without problems. If you instead try to subset your data you will end up with a weird shaped array, as the LU_INDEX=2 condition, I believe, is not spatially coherent like say a box or a circle. One way to go would be to convert the temperature array to a 1-D one with <font face="Menlo">ndtooned</font> (<a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/ndtooned.shtml" target="_blank">https://www.ncl.ucar.edu/Docu<wbr>ment/Functions/Built-in/ndtoon<wbr>ed.shtml</a>), apply the <font face="Menlo">ind</font> function and then convert back to a multidimensional array (Example 3 at this page is useful <a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/minind.shtml" target="_blank">http://www.ncl.ucar.edu<wbr>/Document/Functions/Built-in/<wbr>minind.shtml</a>). But really, it is cumbersome and useless depending on what is your final goal. </div><div><br></div><div>I think there are a lot of examples on the online guide.</div><div><br></div><div>Good Luck </div><div><div><span class="m_-3989813313867987420HOEnZb"><font color="#888888"><div>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br class="m_-3989813313867987420m_141544419496345103Apple-interchange-newline">Guido Cioni</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="http://guidocioni.altervista" target="_blank">http://guidocioni.altervista</a>.o<wbr>rg</div>

</div></font></span><div><div class="m_-3989813313867987420h5">
<br><div><blockquote type="cite"><div>On 14 Mar 2017, at 10:06, Imran Hosen &lt;<a href="mailto:hosen.imran09@gmail.com" target="_blank">hosen.imran09@gmail.com</a>&gt; wrote:</div><br class="m_-3989813313867987420m_141544419496345103Apple-interchange-newline"><div><div dir="ltr"><div><div><div><div><div><div><div><div><div>Dear Guido and Barry,<br><br></div>Thank you so much for your heartfelt and prompt response. Yes, your suggestions are working fine for my script.<br><br></div>Guido, your assumption is absolutely right. According your suggestion I wrote the script as follows:<br><br></div>T2 = f_1-&gt;T2(:,:,:)<br></div>LU_INDEX = f_1-&gt;LU_INDEX(0,:,:)       ; (LU_INDEX = landuse index)<br></div>T2_masked = mask(T2,(LU_INDEX.eq.2), True)<br></div>T2_masked@_FillValue = -9999<br></div>print(T2_masked)<br><br></div>The script works fine and it is extracting both real values and FillValues (missing values). <b>But, I want to extract only real values</b>. I have seen that &quot;<b>ind</b>&quot; function can be used for extracting real values for <b>one-dimensional array</b>. Could you please suggest me what function I can use to extract the real values for <b>two-dimensional array</b>.<br><br></div><div>Your further suggestion will be highly appreciated.<br><br></div><div>Kind regards,<br></div><div>Imran<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 14, 2017 at 6:55 PM, Guido Cioni <span dir="ltr">&lt;<a href="mailto:guidocioni@gmail.com" target="_blank">guidocioni@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Imran,<div>unfortunately I’m not really an expert of WRF, so I’m going to give you a general hint which may work. You should be more precise next time as generally people do not know what is LU_INDEX and what is its structure ;) </div><div><br></div><div>I assume that you want to extract temperature, which is 3-D (time, lat, lon) using a mask array LU_INDEX which is 2-D (lat, lon). Again, if this assumption is wrong please be more specific. You have many choices, but I believe that for the sake of clarity you may want to go for an array which has the same dimensions but missing values where LU_INDEX is not 2. So you may want to do something like this:</div><div><br></div><div><font face="Menlo">T2_masked=mask(T2, LU_INDEX.ne.2, False).</font></div><div><br></div><div>You need to have a Missing Value attribute set for the T2 variable of course. As a result you will get an array with the same dimensions, so that it’s easier to compare with the original one, but with Missing Values where your condition is False, so that for every computation these points will not be considered. You can achieve something similar with the where function. Please have a look here (<a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/mask.shtml" target="_blank">http://www.ncl.ucar.edu/Docum<wbr>ent/Functions/Built-in/mask.sh<wbr>tml</a>).</div><div><br></div><div>Cheers</div><div><br></div><div><br><div><blockquote type="cite"><div><div class="m_-3989813313867987420m_141544419496345103h5"><div>Il giorno 14 mar 2017, alle ore 04:38, Imran Hosen &lt;<a href="mailto:hosen.imran09@gmail.com" target="_blank">hosen.imran09@gmail.com</a>&gt; ha scritto:</div><br class="m_-3989813313867987420m_141544419496345103m_-4721575193858994257Apple-interchange-newline"></div></div><div><div><div class="m_-3989813313867987420m_141544419496345103h5"><div dir="ltr"><div><div>Dear NCL users,<br><br></div>Good day!<br><br></div>I&#39;m a new user of NCL. I want to extract temperature (T2) from wrfout file for the specific grid points where the LU_INDEX = 2.<br clear="all"><div><div><div><br><div class="m_-3989813313867987420m_141544419496345103m_-4721575193858994257gmail_signature" data-smartmail="gmail_signature"><div>For example,<br></div><div>f = addfile(&quot;./<a href="http://wrfout.nc/" target="_blank">wrfout.nc</a>)<br></div><div>T2 = f-&gt;T2(:,:,:)<br><br></div><div>It will extract temperature for whole domain for all time steps. In my case, I only want to extract temperature for all time steps but for the specific grids which grids represent LU_INDEX = 2.<br><br></div><div>Could you please suggest how to do it. I would grateful to you if anyone please share a script.<br><br></div><div>Thanks in advance.<br><br></div><div>Kind regards,<br></div><div>Imran<br></div><div><br></div></div>
</div></div></div></div></div></div><span>
______________________________<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" target="_blank">http://mailman.ucar.edu/mailma<wbr>n/listinfo/ncl-talk</a><br></span></div></blockquote></div><br></div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="m_-3989813313867987420m_141544419496345103gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="font-size:small;font-family:arial"><b style="color:rgb(0,153,0);font-family:&#39;arial black&#39;,sans-serif">Md. Imran Hosen</b><br></div><div style="font-size:small;font-family:arial"><span style="color:rgb(204,51,204)">PhD Student </span></div><div><font style="font-family:arial;font-size:small" color="#cc33cc">Victoria University</font></div><div><span style="color:rgb(204,51,204);font-family:arial;font-size:small">College of Engineering and Science</span><font size="2" face="arial"><br style="color:rgb(204,51,204)"></font><font size="2" color="#cc33cc" face="arial">Footscray Park Campus</font></div><div><font size="2" color="#cc33cc" face="arial">Victoria, Australia</font><br style="color:rgb(204,51,204)"><span style="font-family:arial;font-size:small;color:rgb(204,51,204)">Mob. <a href="tel:+61%20470%20371%20562" value="+61470371562" target="_blank">+61470371562</a></span></div><br><br></div></div>
</div>
</div></blockquote></div><br></div></div></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_-3989813313867987420gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="font-size:small;font-family:arial"><b style="color:rgb(0,153,0);font-family:&#39;arial black&#39;,sans-serif">Md. Imran Hosen</b><br></div><div style="font-size:small;font-family:arial"><span style="color:rgb(204,51,204)">PhD Student </span></div><div><font style="font-family:arial;font-size:small" color="#cc33cc">Victoria University</font></div><div><span style="color:rgb(204,51,204);font-family:arial;font-size:small">College of Engineering and Science</span><font size="2" face="arial"><br style="color:rgb(204,51,204)"></font><font size="2" color="#cc33cc" face="arial">Footscray Park Campus</font></div><div><font size="2" color="#cc33cc" face="arial">Victoria, Australia</font><br style="color:rgb(204,51,204)"><span style="font-family:arial;font-size:small;color:rgb(204,51,204)">Mob. <a href="tel:+61%20470%20371%20562" value="+61470371562" target="_blank">+61470371562</a></span></div><br><br></div></div>
</div>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="font-size:small;font-family:arial"><b style="color:rgb(0,153,0);font-family:&#39;arial black&#39;,sans-serif">Md. Imran Hosen</b><br></div><div style="font-size:small;font-family:arial"><span style="color:rgb(204,51,204)">PhD Student </span></div><div><font color="#cc33cc" style="font-family:arial;font-size:small">Victoria University</font></div><div><span style="color:rgb(204,51,204);font-family:arial;font-size:small">College of Engineering and Science</span><font face="arial" size="2"><br style="color:rgb(204,51,204)"></font><font color="#cc33cc" face="arial" size="2">Footscray Park Campus</font></div><div><font color="#cc33cc" face="arial" size="2">Victoria, Australia</font><br style="color:rgb(204,51,204)"><span style="font-family:arial;font-size:small;color:rgb(204,51,204)">Mob. +61470371562</span></div><br><br></div></div>
</div>