<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 <<a href="mailto:abrammer@albany.edu">abrammer@albany.edu</a>> a écrit :<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. </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 = "Europe_bis_ncl.txt"</div><div class="gmail_default"><br></div><div class="gmail_default">EU = 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. <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"><<a href="mailto:thiernodoumbia@yahoo.fr" target="_blank">thiernodoumbia@yahoo.fr</a>></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>
> Le 29 Sep 2015 à 18:02, Doumbia <<a href="mailto:thiernodoumbia@yahoo.fr">thiernodoumbia@yahoo.fr</a>> a écrit :<br>
><br>
> Hi Jack,<br>
> I really appreciate your teaching skills.<br>
><br>
> I recognize that there’s weird things in my script but I apologize for that, I am new in NCL.<br>
><br>
> 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>
><br>
> You are right, the "EU(120:395,0)” is for 1990 to 2012 (23 years).<br>
><br>
> Thank you for your help.<br>
><br>
> Thierno<br>
><br>
><br>
>><br>
>> ...<br>
>> “The results I’ve obtained aren’t what I expected.”<br>
>> ...<br>
>> Well, even Aristotle would struggle to figure out what you expected if you didn't tell him…<br>
>><br>
>> Your script still got visible mistakes though. For example the loop is quite extravagant:<br>
>> …<br>
>> k = ispan(0,11,1)<br>
>> do n=0,7<br>
>> do i = 0,275,12<br>
>> do j=0,11<br>
>> EUmax(n,:) = max(EU_plot(n,i+k(j))) <== “j” will always be the same type as, and equal to “k(j)”?<br>
>> end do<br>
>> end do<br>
>> end do<br>
>> …<br>
>> 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>
>><br>
>> You can clean the loop and do something like,<br>
>> 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>
>> yr=i<br>
>> end do<br>
>> end do<br>
>><br>
>> 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>
>><br>
>> I hope that helps.<br>
>><br>
>> Jack<br>
>><br>
>>> On 29 Sep 2015, at 15:02, Doumbia <<a href="mailto:thiernodoumbia@yahoo.fr">thiernodoumbia@yahoo.fr</a>> wrote:<br>
>>><br>
>>> Dear ncl users,<br>
>>><br>
>>> I am trying to compute the monthly maximum NO2 in a yearly basis.<br>
>>><br>
>>> 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>
>>><br>
>>> The results I’ve obtained aren’t what I expected.<br>
>>> <max_of_monthly_data.ncl><Europe_bis_ncl.txt><br>
>>> I will appreciate any help to resolve this.<br>
>>><br>
>>> Please find attached my script as well as my input file.<br>
>>><br>
>>> Thank you in advance,<br>
>>> Thierno<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>
>><br>
><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>