Looping through files

From: Melissa Lazenby <M.Lazenby_at_nyahnyahspammersnyahnyah>
Date: Wed Nov 20 2013 - 07:50:05 MST

Hi All

I have managed to get my regression line program to print out many outputs, however they are all the same values and I want them to be outputs from the individual files in the folder therefore they should be different. I must be doing something wrong with my loops.
If anyone can help, I would really appreciate it!
Many thanks!

Kind Regards
Melissa

;*************************************************
; regline.ncl
;

;*************************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"

begin
;************************************************
; Read in Precip Data.
;************************************************
 ;diri = "/mnt/nfs2/geog/ml382/melphd/eofmodelz/ACCESS1-0/" ; input directory
 ;fili = "/pr_Amon_ACCESS1-0_historical_safrica_1950_climDJF.nc" ; data

 ;=================================================;
 ; Read all file names in directory
 ;=================================================;
 diri = "/mnt/nfs2/geog/ml382/melphd/eofmodelz/ACCESS1-0/" ; input directory
 fili = systemfunc("cd "+diri+" ; ls *climDJF.nc")
 print(fili) ; all file names
 nfili = dimsizes(fili)
 print(nfili)

 ;=================================================;
 ; Establish list of all possible files; *no* reading is done
 ; 'f' is a variable of type 'list'; index via [...]
 ;=================================================;

 do nf=0,nfili-1
 f = addfile(diri+fili(nf), "r")
 pr = f->pr(0,0,:,:)
 lat = f->lat ; get lat
 end do

 ;f = addfile (fili , "r") ; add file
 ;lat = f->lat ; get lat
 ;lon = f->lon ; get lon
 ;time = f->time ; get time
 ;level = f->z ; get level
 ;pr = f->pr ; get precip
 ;printVarSummary(pr)

 ;pr2 = pr(time|0, z|0, {lat|-30:0}, {lon|10:50})

 ;printVarSummary(pr2)

;*************************************************************
;Calculations of max precip for lat and lon values
;**************************************************************

    dimpr = dimsizes(pr)
    nlat = dimpr(0)
    mlon = dimpr(1)

 prMaxLon = new ( mlon, typeof(pr), pr@_FillValue)

   do nf=0,nfili-1
    f = addfile(diri+fili(nf), "r")
    pr = f->pr(0,0,:,:)
     lat = f->lat ; get lat
     do ml=0,mlon-1
      imax = maxind(pr(:,ml))
      prMaxLon(ml) = dble2flt(lat(imax))
   end do
   end do

   ;print(prMaxLon)
   ;print(pr&lon)

   ;print("-------------------------------")
   ;print("prMaxLon: "+pr&lon+" "+prMaxLon)

   ;Regression Line

   rcMaxLon = regline(pr&lon,prMaxLon)

    do nf=0,nfili-1
    f = addfile(diri+fili(nf), "r")
    pr = f->pr(0,0,:,:)
    lat = f->lat
    print(rcMaxLon)
    end do

   ;print(rcMaxLon@yave)

   bMaxLon = rcMaxLon@yintercept
   ;print(bMaxLon)

   xMaxLon = pr&lon
   ;print(xMaxLon)
   yMaxLon = rcMaxLon*pr&lon + bMaxLon
   ;print(yMaxLon)

   ;print("-------------------------------")
   ;print(xMaxLon+" "+yMaxLon)

end

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed Nov 20 07:50:18 2013

This archive was generated by hypermail 2.1.8 : Fri Nov 22 2013 - 09:36:32 MST