<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Dear Ioannis,</div><div class=""><br class=""></div><div class="">You can still use “dim_avg_n” function, you just need to reorganise your code, and I don’t think another loop is necessary.</div><div class=""><br class=""></div><div class="">My suggestions:</div><div class=""><br class=""></div><div class="">[1] Retrieve the variables from all the files at once(hoping you won’t experience any memory problem).</div><div class="">;****</div><div class="">&nbsp; &nbsp; &nbsp;it = -1 ;&lt;== this retrieves the time dimension as well</div><div class="">&nbsp; &nbsp; &nbsp;dust1 &nbsp;= wrf_user_getvar(fS,"DUST_1",it) &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="">&nbsp; &nbsp; &nbsp;dust2 &nbsp;= wrf_user_getvar(fS,"DUST_2",it) &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="">&nbsp; &nbsp; &nbsp;dust3 &nbsp;= wrf_user_getvar(fS,"DUST_3",it) &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="">&nbsp; &nbsp; &nbsp;dust4 &nbsp;= wrf_user_getvar(fS,"DUST_4",it)&nbsp;</div><div class="">&nbsp; &nbsp; &nbsp;dust5 &nbsp;= wrf_user_getvar(fS,"DUST_5",it) &nbsp;&nbsp;</div><div class="">;****</div><div class=""><br class=""></div><div class="">[2] Do most data manipulations outside the loops.</div><div class="">;****</div><div class="">&nbsp; &nbsp; dust_J &nbsp; = dim_sum_n((/dust1,dust2,dust3,dust4,dust5/),0)*density</div><div class="">&nbsp; &nbsp; dust_tot = dust_J(:,level,:,:)</div><div class="">;****</div><div class=""><br class=""></div><div class="">[3] Calculate the files averages(hoping I understood what you want to do)</div><div class="">;****</div><div class="">&nbsp; &nbsp; n1=0 &nbsp;;&lt;=== Set to suit your needs</div><div class="">&nbsp; &nbsp; n2=2</div><div class="">&nbsp; &nbsp; do ifil = 0,numFILES-1</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp; &nbsp;if (ifil.eq.n2) then</div><div class="">&nbsp; &nbsp; &nbsp;dust_avg = dim_avg_n(dust_J(n1:n2,level,:,:),0)</div><div class="">&nbsp; &nbsp; &nbsp;print(" average of file|" + n1 + "| and file|" + n2 + "| calculated...")</div><div class="">&nbsp; &nbsp; &nbsp;n1=n1+2</div><div class="">&nbsp; &nbsp; &nbsp;n2=n2+2</div><div class="">&nbsp; &nbsp; &nbsp;end if</div><div class="">&nbsp;;****</div><div class="">&nbsp; ;….and then write to the output file(whichever way you wish)</div><div class=""><br class=""></div><div class="">&nbsp;;****</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp;data(npt) = data(npt) + sprintf("%7.3f ", dust_tot(ifil,ml,nl))</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp;if (ifil.eq.n2-2) then ;&lt;== write the averages after every other column</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp;data(npt) = data(npt) + sprintf("%7.3f ", dust_avg(ml,nl))</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp;end if</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp; &nbsp;end do</div><div class="">&nbsp;;****</div><div class=""><br class=""></div><div class="">See the attached script. Test it with your data files. If it doesn’t solve the problem as always write again to ncl-talk.</div><div class=""><br class=""></div><div class="">Jack</div><div class=""><br class=""></div><div class=""></div></body></html>