<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Looks like You got things sorted with Jack pretty well. </div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I went through and cleaned up your code a little, to make it a little more concise in my opinion.  Functionally it will be the same, but if you go through and understand my changes here it may help you in the future. </div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><div class="gmail_default">f1 = &quot;Europe_bis_ncl.txt&quot;</div><div class="gmail_default"><br></div><div class="gmail_default">EU     = readAsciiTable(f1,7,&quot;float&quot;,1)</div><div class="gmail_default">EU@_FillValue = -9999</div><div class="gmail_default">EU!0 = &quot;time&quot;</div><div class="gmail_default">EU!1 = &quot;variable&quot;</div><div class="gmail_default">;; if the dimeensions are named they can be reordered very easily. <br></div><div class="gmail_default"><br></div><div class="gmail_default">;************************************************</div><div class="gmail_default">; to plot multiple lines, you must put them into</div><div class="gmail_default">; a mulidimensional array</div><div class="gmail_default">;************************************************</div><div class="gmail_default"><br></div><div class="gmail_default">nraw = 8</div><div class="gmail_default">ncol = 276</div><div class="gmail_default">nmax = ncol/12             </div><div class="gmail_default"><br></div><div class="gmail_default">EU_plot      = new((/nraw,ncol/),float, EU@_FillValue)</div><div class="gmail_default">EU_plot(:6,:) = EU(variable|:, time|120:395)  ; name the dimensions and reorder easily. </div><div class="gmail_default">EU_plot(7,:) = dim_avg_n(EU_plot(0:6,:),0)</div><div class="gmail_default"> </div><div class="gmail_default">EUmax := new((/nraw,nmax/),float, EU_plot@_FillValue)</div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">;; rather than having 3 different iterable integers, simplify things with an array up front. </div><div class="gmail_default">;;;;</div><div class="gmail_default">t_lbd = ispan(0, ncol-12, 12)   ;  lower bounds to find max over.</div><div class="gmail_default">t_ubd = t_lbd + 11              ;  upper bounds to find max over. </div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">do t=0,dimsizes(t_lbd)-1</div><div class="gmail_default">  EUmax(:,t) = dim_max_n(EU_plot(:,t_lbd(t):t_ubd(t)),1)   ;; use the array based functions where possible.</div><div class="gmail_default">end do</div><div class="gmail_default"><br></div><div class="gmail_default">print(EUmax)</div><div><br></div></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 29, 2015 at 12:22 PM, Doumbia <span dir="ltr">&lt;<a href="mailto:thiernodoumbia@yahoo.fr" target="_blank">thiernodoumbia@yahoo.fr</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I add some thing in your code and it gives me the good results.<br>
yr = i would be yr = i+1.<br>
<br>
The new script is:<br>
<span class="">do n=0,7<br>
    yr=0<br>
    k =0<br>
    do i = 11,275,12<br>
       EUmax(n,k) = max(EU_plot(n,yr:i))<br>
       k=k+1<br>
</span>       yr=i+1<br>
    end do<br>
 end do<br>
<br>
Jack, thank again.<br>
Thierno<br>
<div class="HOEnZb"><div class="h5"><br>
&gt; Le 29 Sep 2015 à 18:02, Doumbia &lt;<a href="mailto:thiernodoumbia@yahoo.fr">thiernodoumbia@yahoo.fr</a>&gt; a écrit :<br>
&gt;<br>
&gt; Hi Jack,<br>
&gt; I really appreciate your teaching skills.<br>
&gt;<br>
&gt; I recognize that there’s weird things in my script but I apologize for that, I am new in NCL.<br>
&gt;<br>
&gt; Unfortunately, your suggestions don’t give the good results i.e. the maximum of monthly NO2 data for each year. I compared these results with those obtained from excel.<br>
&gt;<br>
&gt; You are right, the &quot;EU(120:395,0)” is for 1990 to 2012 (23 years).<br>
&gt;<br>
&gt; Thank you for your help.<br>
&gt;<br>
&gt; Thierno<br>
&gt;<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; ...<br>
&gt;&gt; “The results I’ve obtained aren’t what I expected.”<br>
&gt;&gt; ...<br>
&gt;&gt; Well, even Aristotle would struggle to figure out what you expected if you didn&#39;t tell him…<br>
&gt;&gt;<br>
&gt;&gt; Your script still got visible mistakes though. For example the loop is quite extravagant:<br>
&gt;&gt; …<br>
&gt;&gt; k = ispan(0,11,1)<br>
&gt;&gt; do n=0,7<br>
&gt;&gt;  do i = 0,275,12<br>
&gt;&gt;   do j=0,11<br>
&gt;&gt;     EUmax(n,:) = max(EU_plot(n,i+k(j))) &lt;== “j” will always be the same type as, and equal to “k(j)”?<br>
&gt;&gt;   end do<br>
&gt;&gt;  end do<br>
&gt;&gt; end do<br>
&gt;&gt; …<br>
&gt;&gt; and since the left side of your equation has a free dimension, the variable will always be overwritten up to the end of the loop.<br>
&gt;&gt;<br>
&gt;&gt; You can clean the loop and do something like,<br>
&gt;&gt; do n=0,7<br>
&gt;&gt;    yr=0<br>
&gt;&gt;    k =0<br>
&gt;&gt;    do i = 11,275,12<br>
&gt;&gt;       EUmax(n,k) = max(EU_plot(n,yr:i))<br>
&gt;&gt;       k=k+1<br>
&gt;&gt;       yr=i<br>
&gt;&gt;    end do<br>
&gt;&gt; end do<br>
&gt;&gt;<br>
&gt;&gt; I was also wondering whether from your file “EU(120:395,0)” will give you information from 2000 to 2012(12 years)? Probably that is the unexpected result you mentioned. Who knows?<br>
&gt;&gt;<br>
&gt;&gt; I hope that helps.<br>
&gt;&gt;<br>
&gt;&gt; Jack<br>
&gt;&gt;<br>
&gt;&gt;&gt; On 29 Sep 2015, at 15:02, Doumbia &lt;<a href="mailto:thiernodoumbia@yahoo.fr">thiernodoumbia@yahoo.fr</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Dear ncl users,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I am trying to compute the monthly maximum NO2 in a yearly basis.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; My input file contains 7 columns representing different variables and 396 lines (monthly mean NO2 data from 1980 to 2012). I am only interested by the 2000-2012 period .<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The results I’ve obtained aren’t what I expected.<br>
&gt;&gt;&gt; &lt;max_of_monthly_data.ncl&gt;&lt;Europe_bis_ncl.txt&gt;<br>
&gt;&gt;&gt; I will appreciate any help to resolve this.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Please find attached my script as well as my input file.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thank you in advance,<br>
&gt;&gt;&gt; Thierno<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; ncl-talk mailing list<br>
&gt;&gt;&gt; <a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
&gt;&gt;&gt; List instructions, subscriber options, unsubscribe:<br>
&gt;&gt;&gt; <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
&gt;&gt;<br>
&gt;<br>
<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>
</div></div></blockquote></div><br></div>