<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><span></span></div><div><div>Thank Alan,</div><div>Your script is very helpfull for me.</div><div><br></div><div>Thierno<br><br>Envoyé de mon iPhone</div><div><br>Le 29 sept. 2015 à 21:18, Alan Brammer &lt;<a href="mailto:abrammer@albany.edu">abrammer@albany.edu</a>&gt; a écrit&nbsp;:<br><br></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Looks like You got things sorted with Jack pretty well.&nbsp;</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.&nbsp; Functionally it will be the same, but if you go through and understand my changes here it may help you in the future.&nbsp;</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 = "Europe_bis_ncl.txt"</div><div class="gmail_default"><br></div><div class="gmail_default">EU &nbsp; &nbsp; = readAsciiTable(f1,7,"float",1)</div><div class="gmail_default">EU@_FillValue = -9999</div><div class="gmail_default">EU!0 = "time"</div><div class="gmail_default">EU!1 = "variable"</div><div class="gmail_default">;; if the dimeensions are named they can be reordered very easily.&nbsp;<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 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div class="gmail_default"><br></div><div class="gmail_default">EU_plot &nbsp; &nbsp; &nbsp;= new((/nraw,ncol/),float, EU@_FillValue)</div><div class="gmail_default">EU_plot(:6,:) = EU(variable|:, time|120:395) &nbsp;; name the dimensions and reorder easily.&nbsp;</div><div class="gmail_default">EU_plot(7,:) = dim_avg_n(EU_plot(0:6,:),0)</div><div class="gmail_default">&nbsp;</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.&nbsp;</div><div class="gmail_default">;;;;</div><div class="gmail_default">t_lbd = ispan(0, ncol-12, 12) &nbsp; ; &nbsp;lower bounds to find max over.</div><div class="gmail_default">t_ubd = t_lbd + 11 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; &nbsp;upper bounds to find max over.&nbsp;</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">&nbsp; EUmax(:,t) = dim_max_n(EU_plot(:,t_lbd(t):t_ubd(t)),1) &nbsp; ;; 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>
&nbsp; &nbsp; yr=0<br>
&nbsp; &nbsp; k =0<br>
&nbsp; &nbsp; do i = 11,275,12<br>
&nbsp; &nbsp; &nbsp; &nbsp;EUmax(n,k) = max(EU_plot(n,yr:i))<br>
&nbsp; &nbsp; &nbsp; &nbsp;k=k+1<br>
</span>&nbsp; &nbsp; &nbsp; &nbsp;yr=i+1<br>
&nbsp; &nbsp; end do<br>
&nbsp;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 "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'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;&nbsp; do i = 0,275,12<br>
&gt;&gt;&nbsp; &nbsp;do j=0,11<br>
&gt;&gt;&nbsp; &nbsp; &nbsp;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;&nbsp; &nbsp;end do<br>
&gt;&gt;&nbsp; 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;&nbsp; &nbsp; yr=0<br>
&gt;&gt;&nbsp; &nbsp; k =0<br>
&gt;&gt;&nbsp; &nbsp; do i = 11,275,12<br>
&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;EUmax(n,k) = max(EU_plot(n,yr:i))<br>
&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;k=k+1<br>
&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;yr=i<br>
&gt;&gt;&nbsp; &nbsp; 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>
</div></blockquote></div></body></html>