;interpolate each level file to on the hour (spline) ;columns 5 and 6 in data/wlefstor/co2levN.txt N=[1..6] ;deriv it ;integrate ;level 1,2 ;level 2 ;level 1,2,3,4 ;level 2,4 ;level 1,2,3,4,5,6 ;level 2,4,6 ;compare (plot) ;levels are ;11m, 30m, 76m, 122m, 244m, 396m PRO wlefstor_interp dr = mydocs()+'wlefstor/co2lev' levels = [11,30,76,122,244,396] tms = findgen((31*24)+1)/24.+182. co2arr = make_array(n_elements(levels),n_elements(tms),/float,value=nan()) FOR i = 0,n_elements(levels)-1 DO BEGIN dta = read_ascii(dr+string(i+1,format='(i1)')+'.txt') dta = dta.(0) hr = dta[5,*] co2 = dta[6,*] gdata = where(finite(co2) AND co2 GT 0) co2arr[i,*] = interpol(co2[gdata],hr[gdata],tms) ;lsquad ; stop ENDFOR save,co2arr,tms,levels,filename=mydocs()+'wlefstor/co2interp.sav' stop END PRO wlefstor ;for levels ;read_ascii co2lev1..6.txt ;interpolate each file into array ;deriv each interpolated column (and just do a shift subtract and ;divide by 3600) ;for each hour (across levels) ;integrate int_tabulated(x*86400,f) restore,mydocs()+'wlefstor/co2interp.sav' dco2 = shift(co2arr,0,-1) - co2arr dco2 = dco2[*,0:n_elements(tms)-2]/3600. ;ppm per second levels_a=[0,levels] dco2_a = [dco2[0,*],dco2] ;replicate 11m for 0m levels_b = [0,levels[1],levels[3],levels[5]] dco2_b = [dco2[1,*],dco2[1,*],dco2[3,*],dco2[5,*]] ;replicate 30m for 0m storarr = make_array(6,n_elements(tms)-1,/float,value=nan()) storhdr = ['30m','30m_b','122m','122m_b','396m','396m_b'] FOR i = 0,n_elements(tms)-2 DO BEGIN IF i MOD 100 EQ 0 THEN print,i storarr[0,i] = int_Tabulated(levels_a[0:2],dco2_a[0:2,i]) storarr[2,i] = int_tabulated(levels_a[0:4],dco2_a[0:4,i]) storarr[4,i] = int_tabulated(levels_a[0:6],dco2_a[0:6,i]) storarr[1,i] = int_Tabulated(levels_b[0:1],dco2_b[0:1,i]) storarr[3,i] = int_tabulated(levels_b[0:2],dco2_b[0:2,i]) storarr[5,i] = int_Tabulated(levels_b[0:3],dco2_b[0:3,i]) ENDFOR stor = storarr*1.0/28.9*10^3 stop END