<div dir="ltr">That looks like a great solution, Stefano. I&#39;m cc&#39;ing the NCL list here so that others can see your solution in the future. Glad you were able to get to a solution that plots faster!<div><br></div><div><br></div><div>Kyle</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">----------------------------------------<div>Kyle S. Griffin</div><div>Department of Atmospheric and Oceanic Sciences</div><div>University of Wisconsin - Madison</div><div>Room 1407</div><div>1225 W Dayton St, Madison, WI 53706</div><div>Email: <a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a></div></div></div></div></div></div>
<br><div class="gmail_quote">On Wed, Dec 2, 2015 at 3:04 PM, Stefano Guerra <span dir="ltr">&lt;<a href="mailto:guerras90@gmail.com" target="_blank">guerras90@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"><div><div><div><div>Hi, I&#39;m using 6.3.0 version<br><br></div>I solve the problem of slow process changing code in this way (latdef, londef and dataext are 2-d array):<span class=""><br><br> contour_tc = wrf_contour(a,wks,tf2,opts)<br>      plot = wrf_map_overlays(a,wks,(/contour_tc/),platres,mpres)   <br></span>      latout = fspan(36,47,46)<br>      lonout = fspan(6.5,19,52)<br><br>      do textlat = 0,45,1<br>         do textlon = 0,51,1<span class=""><br>          loc  = wrf_user_latlon_to_ij(a, latout(textlat), lonout(textlon))<br></span>        latdef(textlat,textlon) = latout(textlat)<br>        londef(textlat,textlon) = lonout(textlon)<br>        datatext(textlat,textlon) = tc2(loc(0),loc(1))<br>        end do<br>          end do<br><br>text = gsn_add_text(wks,plot,sprintf(&quot;%0.0f&quot;, datatext),londef,latdef,txres)<br>draw(plot)<br><br></div>Without repeat &quot;gsn_add_xx&quot; function in the loops, but using arrays, i can add a lot of text point in the plot, i tried with a 150*120 2d array and works fine.<br><br></div>Thank you very much,<br></div>Stefano<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2015-12-02 17:22 GMT+01:00 Kyle Griffin <span dir="ltr">&lt;<a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What version of NCL are you using? I know some of the gsn_add_xxx functions were made more efficient in recent NCL versions, but then again, I don&#39;t see any official mention of those improvements including gsn_add_text.<div><br></div><div>Loops are notoriously inefficient in NCL. Could you try calling gsn_add_text without the loop? Since you&#39;re using WRF, you may already have 2d lat and lon variables, but since your code doesn&#39;t have them here, you may want to create them (likely with the &quot;conform&quot; function and the wrf_user_latlon... functions).</div><div><br></div><div>If you are able to do that, you should then have 3 two-dimensional variables: tc2, lat2d, and lon2d, containing the text to plot, the latitude coordinate, and the longitude coordinate for every single point in the lat x lon grid. At this point, you should be able to give each of these variables to a single call of gsn_add_text and plot all the text at once, rather than in 24*24 = 579 calls to the function.</div><div><br></div><div>There may be a simple method to do this with the WRF functions (such as retrieving &#39;lat&#39; or &#39;lon&#39; from the grid rather than creating it yourself) that I&#39;m not as familiar with, so explore some if you can!</div><span><font color="#888888"><div><br></div><div><br></div><div>Kyle</div></font></span></div><div class="gmail_extra"><span><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr">----------------------------------------<div>Kyle S. Griffin</div><div>Department of Atmospheric and Oceanic Sciences</div><div>University of Wisconsin - Madison</div><div>Room 1407</div><div>1225 W Dayton St, Madison, WI 53706</div><div>Email: <a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a></div></div></div></div></div></div>
<br></span><div><div><div class="gmail_quote">On Wed, Dec 2, 2015 at 5:37 AM, Stefano Guerra <span dir="ltr">&lt;<a href="mailto:guerras90@gmail.com" target="_blank">guerras90@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"><div><div><div>Hi Kyle, thank you for your answer.<br><br></div>I tried this code, it works fine for my purpose, but there is a problem with time of execution. The first 7/8 &quot;textlat&quot; loops are sufficiently fast, but the following loops become very slow, than process fault.<br><br>contour_tc = wrf_contour(a,wks,tf2,opts)<br>      plot = wrf_map_overlays(a,wks,(/contour_tc/),platres,mpres)    ;overlay per info confini<br>      poly = gsn_add_shapefile_polylines(wks,plot,&quot;reg2011_g.shp&quot;,pres) ;aggiungo shapefile confini regionali<br>      latout = fspan(36,47,23)<br>      lonout = fspan(7,18,23)<br>      do textlat = 0,23,1<br>print (textlat)<br>         do textlon = 0,23,1<br>         loc  = wrf_user_latlon_to_ij(a, latout(textlat), lonout(textlon))<br>        text = gsn_add_text(wks,plot,sprintf(&quot;%0.0f&quot;, tc2(loc(0),loc(1))),lonout(textlon),latout(textlat),txres)<br>        end do<br>          end do<br><br>draw(plot)<br>frame(wks)<br><br></div>Thank you again,<br></div>Stefano.<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-12-01 14:51 GMT+01:00 Kyle Griffin <span dir="ltr">&lt;<a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Stefano,<div><br></div><div>It&#39;ll take some additional lines of code, but gsn_add_text has the functionality you are most likely looking for.</div><div><br></div><div><a href="https://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_text.shtml" target="_blank">https://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_text.shtml</a><br></div><div><br></div><div>The biggest concern is that your x and y need to be individual pairs corresponding to each and every grid point that you want the text at. In essence, you would need a two-dimensional latitude array and two-dimensional longitude array of only the points where you want text to be plotted, as well as the values/strings you want plotted at those points.</div><div><br></div><div>I would recommend trying this function with a small number of grid points first to make sure it works and does what you want before trying to make the function apply to an entire grid. This may prove to be a bit trickier with a WRF grid, I have not worked with them myself so I&#39;m not sure. Let the list know if you have any problems/questions...</div><div><br></div><div><br></div><div>Kyle</div></div><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr">----------------------------------------<div>Kyle S. Griffin</div><div>Department of Atmospheric and Oceanic Sciences</div><div>University of Wisconsin - Madison</div><div>Room 1407</div><div>1225 W Dayton St, Madison, WI 53706</div><div>Email: <a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a></div></div></div></div></div></div>
<br><div class="gmail_quote"><div><div>On Tue, Dec 1, 2015 at 5:31 AM, Stefano Guerra <span dir="ltr">&lt;<a href="mailto:guerras90@gmail.com" target="_blank">guerras90@gmail.com</a>&gt;</span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><span lang="en"><span>Hi, <br></span></span><div><span lang="en"><span><br>I tried</span> to search <span>this function</span><span>,</span> <span>but</span> <span>I couldn&#39;t</span> <span>find</span> <span>how</span> <span>can I add</span> <span>text data</span> (from a WRF output) <span>on a contour plot</span><span>.<br><br>Maybe I can explain better with an example, I want realize something</span> like<span></span> <span>this: <br><br><a href="http://modeles2.meteociel.fr/modeles_gfs/runs/2015120106/3-580.GIF?01-6" target="_blank">http://modeles2.meteociel.fr/modeles_gfs/runs/2015120106/3-580.GIF?01-6</a><br><br><br></span></span></div><div><span lang="en"><span>Thank you for your help,<br></span></span></div><div><span lang="en"><span>Stefano.<br></span></span></div></div>
<br></div></div>_______________________________________________<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" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<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" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>