<div dir="ltr"><div dir="ltr"><div>I would suggest preprocessing the individual year (yyyy) and month (mm) files into single files for each year and month.</div><div>Then looping over these  'mega' [yyyymm] files.</div><div><br></div><div>Untested:</div><div><br></div><div>; G. Monte 15 Jan 2019 <br>; I have a huge amount of ascii files (even more than 200 per month!) to be<br>; processed for the last twenty years, each of them containing five fields<br>; that can be visualized into a panel plot; here is attached the script used<br>; for a single file, which is named in the variable "fname":<br>;============================================================<br>; Sample name: amsub_19981026_0454_noaa15_02355_bts.asc<br>;                    yyyymmdd hhmn<br>;============================================================<br><br>  diri = "/???/???/.../"   ; directory for source asc files;  "./" current dir <br>  diro = "/???/???/.../"   ; directory for output asc files <br><br>  yrStrt = 1995            ; initial year<br>  yrLast = 2015            ; last year    <br>  mmStrt =  1              ; initial month<br>  mmLast = 12              ; last month<br><br>;---Loop over each year and month<br>  do yyyy=yrStrt,yrLast<br>    do mm=mmStrt,mmLast<br>;---Create output file name for the current month and year<br>       ptho  = diro+"AMSUB_"+yyyy+sprinti("%0.2i", mm)+"_NOAA15_BTS.asc"</div><div>       print(""+ptho)    ; test<br></div><div><br></div><div>;---Remove any previous file<br>       system("/bin/rm -f "+ptho)<br>;---Concatenate all individual year-month files into a single file<br>       system("cat amsub_"+yyyy+sprinti("%0.2i", mm)+"*_bts.asc > "+ptho)<br>    end do    ; mm<br>  end do      ; yyyy<br><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 15, 2019 at 7:34 AM <<a href="mailto:G.Monte@isac.cnr.it">G.Monte@isac.cnr.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dears all,<br>
I have a huge amount of ascii files (even more than 200 per month!) to be<br>
processed for the last twenty years, each of them containing five fields<br>
that can be visualized into a panel plot; here is attached the script used<br>
for a single file, which is named in the variable "fname":<br>
<br>
;---------------------------------------------------------------------------<br>
begin<br>
<br>
diri  = "./"<br>
fname = "amsub_19981026_0454_noaa15_02355_bts.asc"<br>
<br>
n_col = numAsciiCol(diri+fname)<br>
n_var = n_col<br>
n_pt  = numAsciiRow(diri+fname)<br>
dataf  = asciiread(fname,(/n_pt,n_var/),"float")<br>
<br>
;---read longitude<br>
lon = dataf (:,3)<br>
<br>
;---read latitude<br>
lat = dataf (:,2)<br>
<br>
;---read data<br>
tb0 = dataf (:,7)<br>
tb1 = dataf (:,8)<br>
tb2 = dataf (:,9)<br>
tb3 = dataf (:,10)<br>
tb4 = dataf (:,11)<br>
<br>
;---define the workstation (plot type and name)<br>
wks = gsn_open_wks("png","./plot_panel")<br>
<br>
plot                     = new(5,graphic)<br>
<br>
;--set resources<br>
res                     = True<br>
res@gsnAddCyclic        = False<br>
res@gsnFrame            = False<br>
res@gsnDraw             = False<br>
<br>
res@mpDataBaseVersion   = "HighRes"<br>
res@mpMinLonF           = -10<br>
res@mpMaxLonF           =  40<br>
res@mpMinLatF           =  25<br>
res@mpMaxLatF           =  55<br>
<br>
res@sfXArray            = lon<br>
res@sfYArray            = lat<br>
<br>
res@cnFillOn            = True<br>
res@cnLinesOn           = False<br>
res@cnFillPalette       = "rainbow"<br>
res@cnLineLabelsOn      = False<br>
res@cnExplicitLabelBarLabelsOn = True<br>
<br>
res@lbLabelBarOn         = True<br>
res@lbLabelsOn           = True<br>
res@lbBoxLinesOn         = True<br>
res@lbBoxSeparatorLinesOn = False<br>
res@lbTitleOn             = True<br>
res@lbTitlePosition       = "Bottom"<br>
res@lbTitleFontHeightF    = 0.015<br>
res@lbTitleOffsetF        = -0.25<br>
res@lbTitleExtentF        = 0.45<br>
res@lbTitleString         = "~F26~[K]"<br>
res@lbLabelStride         = 20<br>
<br>
res@cnLevelSelectionMode = "ManualLevels"<br>
res@cnMinLevelValF       = 150.<br>
res@cnMaxLevelValF       = 290.<br>
res@cnLevelSpacingF      = 1.<br>
<br>
;-- create the contour map plot<br>
plot(0) = gsn_csm_contour_map(wks,tb0,res)<br>
plot(1) = gsn_csm_contour_map(wks,tb1res)<br>
plot(2) = gsn_csm_contour_map(wks,tb2res)<br>
plot(3) = gsn_csm_contour_map(wks,tb3res)<br>
plot(4) = gsn_csm_contour_map(wks,tb4res)<br>
<br>
resP                     = True<br>
resP@txString            = fname<br>
resP@txFontHeightF       = 0.015<br>
resP@gsnMaximize         = True<br>
<br>
gsn_panel(wks,plot,(/2,3/),resP)<br>
<br>
end<br>
;---------------------------------------------------------------------------<br>
<br>
I'm wondering if anyone could suggest me a proper method for creating a<br>
faster loop to rightly process my data for the entire month all at once (I<br>
think that this should be invoked only before reading the ascii files, but<br>
I'm not really sure )<br>
<br>
Thanks in advance!<br>
Giulio Monte<br>
<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>
</blockquote></div>