<div dir="ltr"><div class="gmail_default" style="font-size:small">Zhifeng,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I didn't see any follow-up to your question, so I thought I'd check in.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I don't know if you provided any code, but it would help if we could see what graphical resources you are setting. Also, exactly how slow is the code? You are plotting 55 MB points, so you may expect some slow down. Did you set both trGridType and cnFillMode? If so, then try only setting cnFillMode to RasterFill, and don't set trGridType at all. This is what I usually try first. Setting trGridType to TriangularMesh can slow down the code in some cases.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">--Mary</div><div class="gmail_default" style="font-size:small"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 26, 2015 at 2:26 PM, Zhifeng Yang <span dir="ltr"><<a href="mailto:yangzf01@gmail.com" target="_blank">yangzf01@gmail.com</a>></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 Walter & Dennis,<br><br></div>Actually, I just found that the slower process is mainly caused by the plotting subroutine. Since SEVIRI data have higher spatial resolution (3km near nadir), so when I plot the contour plot, it takes a lot of time, even though I put the rasterfill resource as below.<br><br> res@cnFillMode = "RasterFill"<br>or<br> res@trGridType = "TriangularMesh"<br><br></div>Do you know whether there is other way to plot this kind of high resolution data as contour much faster?<br><br></div>Thank you<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">Zhifeng<br></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Jun 26, 2015 at 2:08 PM, Dennis Shea <span dir="ltr"><<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>></span> wrote:<br></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This type of behavior *may* be associated with a memory leak. However, more information is needed.<div><br></div><div>[0]</div><div>Please *always* include what version of NCL you are using. </div><div><br></div><div>[1] </div><div>As noted by Walter, multiple embedded do loops (you have 5 levels) in any interpreted language (NCL, Matlab, Python, R, ...) will lead to slow execution times. Again, as noted by Walter, you may have to 'rethink' your approach to obtaining the variable. </div><div><div><br></div><div>[2] </div><div>You have provided no indication of the format of the SEVERI files you are using.</div><div><br></div><div>The only SEVERI file in the NCL archive is a HDF5 file. It has no variable named '<span style="font-size:12.8000001907349px">Cloud_Optical_Thickness_16'. You may point ncl-talk to a WWW location from which some sample SEVERI files of the the type you are using may be obtained. Or you can ftp some files to:</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px"> ftp <a href="http://ftp.cgd.ucar.edu" target="_blank">ftp.cgd.ucar.edu</a></span></div><div><span style="font-size:12.8000001907349px"> anonymous</span></div><div><span style="font-size:12.8000001907349px"> email</span></div><div><span style="font-size:12.8000001907349px"> cd incoming</span></div><div><span style="font-size:12.8000001907349px"> put ... SEVERI_file_01...</span></div><div><span style="font-size:12.8000001907349px"> </span><span style="font-size:12.8000001907349px">put ... SEVERI_file_02...</span></div><div><span style="font-size:12.8000001907349px"> quit</span></div><div><br></div><div>[3]</div><div>As NCL gains more experience with handling HDF5, there have been *significant* improvements in handling HDF5 (H5) files over the last few NCL releases. See the following which document HDF5 improvements.</div><div><br></div><div> 6.3.1: <a href="http://www.ncl.ucar.edu/future_release.shtml" target="_blank">http://www.ncl.ucar.edu/future_release.shtml</a></div><div> Not yet released **but** a test binary is **available**</div><div><br></div><div> 6.3.0 and previous releases:</div><div> <a href="http://www.ncl.ucar.edu/prev_releases.shtml" target="_blank">http://www.ncl.ucar.edu/prev_releases.shtml</a></div><div><br></div><div>In particular, 6.3.1 seems to be fairly robust.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Fri, Jun 26, 2015 at 10:23 AM, Zhifeng Yang <span dir="ltr"><<a href="mailto:yangzf01@gmail.com" target="_blank">yangzf01@gmail.com</a>></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"><div><div><div>Hi<br><br></div>I am trying to read SEVIRI data with a lot of variables and the dimension of each variable is 3712*3712. I know the data are pretty large. But the computer should read them smoothly. Since the memory that I specified is about 50GB. Unfortunately, the code is becoming slower and slower while it do the time loop. Here is a sample of my code.<br><br>; SET UP THE START TIME AND END TIME<br> start_year = 2008<br> end_year = 2008<br> start_month= 6<br> end_month = 6<br> start_day = 1<br> start_hour = 0<br> end_hour = 23<br> start_min = 0<br> end_min = 45<br> min_stride = 15<br> start_ind_lat = 1400<br> end_ind_lat = 3000<br> start_ind_lon = 1100<br> end_ind_lon = 2600<br><br>; DO YEAR LOOP<br> do iyear = start_year, end_year<br><br>; DO MONTH LOOP<br> do imonth = start_month, end_month<br><br>; CALCULATE THE NUMBER OF DAYS IN THIS MONTH<br> nday_month = days_in_month(iyear, imonth)<br>; DO DAY LOOP<br> do iday = start_day, 10;nday_month<br>; DO HOUR LOOP<br> do ihour = start_hour, end_hour<br>; DO MINUTE LOOP<br> do imin = start_min, end_min, min_stride<br>; READ VARIABLES FROM HDF FILE<br> a = addfile(dir + siyear + "/" + symd1 + "/" + filename, "r")<br> lat = (/a->MSG_Latitude(start_ind_lat:end_ind_lat, start_ind_lon:end_ind_lon)/)<br> lon = (/a->MSG_Longitude(start_ind_lat:end_ind_lat, start_ind_lon:end_ind_lon)/)<br> Cloud_Optical_Thickness_16 = a->Cloud_Optical_Thickness_16(start_ind_lat:end_ind_lat, start_ind_lon:end_ind_lon)<br><br> end do ;imin<br> end do ;ihour<br> end do ;iday<br> end do ;imonth<br> end do ;iyear<br><br><br></div>Thank you<span><font color="#888888"><br></font></span></div><span><font color="#888888">Zhifeng<br></font></span></div>
<br></div></div><span>_______________________________________________<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></span></blockquote></div><br></div>
</blockquote></div></div></div><br></div>
<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></blockquote></div><br></div>