<div dir="ltr">Your problem sounds like it has nothing to do with NCL. It is more likely that you are running out of memory (RAM) on your computer and your machine is then having to use swap space (used just like memory, but it's on the hard drive and hence slower). Things that have been loaded in memory previously and not yet overwritten will be "fast" to load as no new memory will need to be written. I would suggest either running the script on a machine with more RAM or trying to find a way to process the data in smaller chunks (e.g. a year at a time). Good luck!<div><br></div><div><br></div><div>Kyle</div></div><div class="gmail_extra"><br clear="all"><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 1421</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>
<br><div class="gmail_quote">On Fri, Sep 12, 2014 at 3:31 PM, Ruping Mo <span dir="ltr"><<a href="mailto:rupingmo@gmail.com" target="_blank">rupingmo@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>Hi NCLers,</div><div><br></div><div>I have an archive of large grib files. Each grib file contains a month of multiple daily global variables. I use the following script to extract a small part of one variable. The script, which uses addfile in a large loop, runs very fast for the first few months, then begins to slow down substantially. I let it run for a few years, then terminate the job (Ctrl-Z) and re-run the same script. Surprisingly, the new job runs very fast to the month when the previous job was terminated. I wonder why it behaves this way, and what I can do to avoid the slow down problem.</div><div><br></div><div>Have a nice day!</div><div><br></div><div>Ruping</div><div><br></div><div>The script:</div><div>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div><div>begin</div><div> nday = 12784 ; number of days from Jan 1979 to Dec 2013</div><div> temp = new((/nday, 9, 9/), float)</div><div>;;;;</div><div> t0 = 0</div><div> do yr = 1979, 2013</div><div> syr = tostring(yr)</div><div> do mo = 1, 12</div><div> smo = tostring(mo)</div><div> print(syr + "-" + smo)</div><div> fname = syr + "/" + syr + "-" + smo + ".grib"</div><div> dat = addfile(fname, "r")</div><div> mday = getfilevardimsizes(dat, "initial_time0") - 1</div><div> i1 = i0 + mday</div><div> temp(i0:i1, :, :) = (/ dat->2T_GDS0_SFC(:, 80:88, 146:154) /)</div><div>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2T_GDS0_SFC(mday, 241, 480)</div><div> i0 = i1 + 1</div><div> end do</div><div> end do</div><div>end</div><div>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div></div>
<br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>