[ncl-talk] Calculate Average value for a number of files
    Ioannis Koletsis 
    koletsis at meteo.noa.gr
       
    Wed Nov 25 06:08:20 MST 2015
    
    
  
Dear Jack,
It is exactly what I want….
I modified properly your revised script according to my needs and it works perfectly….
 
Thanks for your time and your patience….
 
Best regards
Ioannis
 
 
 
From: ncl-talk-bounces at ucar.edu [mailto:ncl-talk-bounces at ucar.edu] On Behalf Of Jack Ogaja
Sent: Tuesday, November 24, 2015 5:36 PM
To: Ioannis Koletsis
Cc: ncl-talk [ncl-talk]
Subject: Re: [ncl-talk] Calculate Average value for a number of files
 
Dear Ioannis,
 
You can still use “dim_avg_n” function, you just need to reorganise your code, and I don’t think another loop is necessary.
 
My suggestions:
 
[1] Retrieve the variables from all the files at once(hoping you won’t experience any memory problem).
;****
     it = -1 ;<== this retrieves the time dimension as well
     dust1  = wrf_user_getvar(fS,"DUST_1",it)        
     dust2  = wrf_user_getvar(fS,"DUST_2",it)        
     dust3  = wrf_user_getvar(fS,"DUST_3",it)        
     dust4  = wrf_user_getvar(fS,"DUST_4",it) 
     dust5  = wrf_user_getvar(fS,"DUST_5",it)   
;****
 
[2] Do most data manipulations outside the loops.
;****
    dust_J   = dim_sum_n((/dust1,dust2,dust3,dust4,dust5/),0)*density
    dust_tot = dust_J(:,level,:,:)
;****
 
[3] Calculate the files averages(hoping I understood what you want to do)
;****
    n1=0  ;<=== Set to suit your needs
    n2=2
    do ifil = 0,numFILES-1
 
     if (ifil.eq.n2) then
     dust_avg = dim_avg_n(dust_J(n1:n2,level,:,:),0)
     print(" average of file|" + n1 + "| and file|" + n2 + "| calculated...")
     n1=n1+2
     n2=n2+2
     end if
 ;****
  ;….and then write to the output file(whichever way you wish)
 
 ;****
       data(npt) = data(npt) + sprintf("%7.3f ", dust_tot(ifil,ml,nl))
       if (ifil.eq.n2-2) then ;<== write the averages after every other column
       data(npt) = data(npt) + sprintf("%7.3f ", dust_avg(ml,nl))
       end if
 
     end do
 ;****
 
See the attached script. Test it with your data files. If it doesn’t solve the problem as always write again to ncl-talk.
 
Jack
 
---
Αυτό το e-mail ελέγχθηκε για ιούς από το πρόγραμμα Avast antivirus.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151125/307f7f3a/attachment.html 
    
    
More information about the ncl-talk
mailing list