[ncl-talk] The slow down when addfile is used in do loop

Ruping Mo rupingmo at gmail.com
Fri Sep 12 14:31:10 MDT 2014


Hi NCLers,

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.

Have a nice day!

Ruping

The script:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
begin
 nday = 12784     ; number of days from Jan 1979 to Dec 2013
 temp = new((/nday, 9, 9/), float)
;;;;
 t0 = 0
 do yr = 1979, 2013
   syr = tostring(yr)
   do mo = 1, 12
    smo = tostring(mo)
    print(syr + "-" + smo)
    fname = syr + "/" + syr + "-" + smo + ".grib"
    dat = addfile(fname, "r")
    mday = getfilevardimsizes(dat, "initial_time0") - 1
    i1 = i0 + mday
    temp(i0:i1, :, :) = (/ dat->2T_GDS0_SFC(:, 80:88, 146:154) /)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2T_GDS0_SFC(mday, 241, 480)
    i0 = i1 + 1
   end do
 end do
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140912/60ecce3e/attachment.html 


More information about the ncl-talk mailing list