# [ncl-talk] Lopping procedure

Sri nandini bax8609 at uni-hamburg.de
Wed Aug 19 02:54:45 MDT 2020

```Hello dear ncl users

I had a question on proper looping procedure for my method below.

I have 3 datasets of different dimensions and i wish to loop them over.

a) Original Hist data ==>hist_anom [time,nens,lat,lon] ==>Sea surface
elevation (m) : min=1.05246   max=5.27844

b) Trend data ==>pi_trend [lat,lon]

c) csv file ==> [100] ;contains 100 different start years

I want to correct each ensemble member by subtracting pi_trend from each
ensemble member start year.for e.g. take member #50, it is initialized
with the control state at year 3140 while member #1 at control year 1898.
;To correct #50 you multiply the 1242 yrs difference with the
pi_trend and subtract this from #50
;a) corrected data #50=original data #50 -(pi_trend * (3140 - 1898))
;I want to subtract all start years with the #1 start year which is 1898

My looping code is here:

pi_trend==>min=0.0308835   max=0.0309578 [lat,lon]

nens= 100

PI_trend_yrs = pi_trend
do n=0,nens-1
PI_trend_yrs = (ens_yrs(n)-1898)*pi_trend
end do
PI_trend_yrs at long_name = "PI_trend_yrs"
printMinMax( PI_trend_yrs ,True)    ===>PI_trend_yrs (m/year)
[lat,lon]: min=50.0313   max=50.1516
printVarSummary(PI_trend_yrs)

;Here the Hist data is trend corrected for each ensemble over lat
and lon gridpoints.
hist_avg=dim_avg_n_Wrap(hist_anom,0)
printMinMax(hist_avg ,True)
printVarSummary(hist_avg)

hist_ens_trend=hist_avg
do n=0,nens-1
;do nt=0, ntim-1
hist_ens_trend(n,:,:) = hist_avg(n,:,:) - PI_trend_yrs
;end do
end do
hist_ens_trend at long_name = "hist_ens_trend"
printMinMax(hist_ens_trend ,True)  ===>hist_ens_trend (m)
[nens,lat,lon]: min=-48.8754   max=-45.2733
printVarSummary(hist_ens_trend)

There is no error but the numbers i get in the are simply too large
because of a mistake in my above loop because in the end i want to use
my original data which is in the format of [time,nens,lat,lon].