; pro to read the CO data from TES/MLS combined data. ;flat_0=5 & flat_1=30 ;flat_0=-5 & flat_1=5 flat_0=-20 & flat_1=20 ;flat_0=0 & flat_1=30 if(flat_0 ge 0) then $ slat_0='N'+string(flat_0,format='(i2.2)') if(flat_0 lt 0) then $ slat_0='S'+string(abs(flat_0),format='(i2.2)') if(flat_1 ge 0) then $ slat_1='N'+string(flat_1,format='(i2.2)') if(flat_1 lt 0) then $ slat_1='S'+string(abs(flat_1),format='(i2.2)') dlon=2. nlon_g=fix(round(360./dlon)) flon_g=findgen(nlon_g)*2+1 iyear=2008 & syear=string(iyear,format='(i4)') nday_yr=365 & if(iyear mod 4 eq 0) then nday_yr=366 ssp='CO' & ssp_l=strlowcase(ssp) ;fpres_sel=146 & slev_sel=string(fpres_sel,format='(i3)')+'hPa' fpres_sel=200 & slev_sel=string(fpres_sel,format='(i3)')+'hPa' nday_step=5 nstep=ceil(float(nday_yr)/nday_step) fdoy_g=findgen(nstep)*5+nday_step/2. fdat_avg_g=fltarr(nlon_g) & fdat_avg_g(*)=0. icnt_avg_g=lonarr(nlon_g) & icnt_avg_g(*)=0L fdat_g=fltarr(nlon_g,nstep) & fdat_g(*,*)=0. icnt_g=lonarr(nlon_g,nstep) & icnt_g(*,*)=0L fdat_anm_g=fltarr(nlon_g,nstep) & fdat_anm_g(*,*)=0. sdir='/misc/mcc20/common/satellite/mls/co_tesmls/TML2CO/'+syear+'/' openr, iunit,'TML2CO_flist_'+syear+'.txt',/get_lun ;read in file name stext='text' sfile_l='text' readf, iunit, sfile_l icnt_f=1 while not eof(iunit) do begin readf, iunit, stext icnt_f=icnt_f+1 sfile_l=[sfile_l,stext] endwhile close, iunit free_lun, iunit for ifile=0, icnt_f-1 do begin print, sfile_l(ifile) read_tml2co,sdir,sfile_l(ifile),ssp, iyear, imonth, iday, $ fdat_ak, fpres_in,flon_in,flat_in,ftime_utc stop aa=where(flon_in lt 0 and flon_in gt -200) flon_in(aa)=flon_in(aa)+360. idoy=julday(imonth,iday,iyear)-julday(1,1,iyear)+1 print,'iday: ', iyear, imonth, iday, idoy fpres_1p=fpres_in(*,0) aa=min(fpres_1p-fpres_sel,/absolute,ilev_sel) if(ilev_sel lt 0) then stop nprof=n_elements(flon_in) nlev=n_elements(fpre_1p) for iprof=0, nprof-1 do begin if(flat_in(iprof) ge flat_0 and flat_in(iprof) le flat_1) then begin aa=min(flon_in(iprof)-flon_g,/absolute,ilon) istep=(idoy-1)/nday_step icnt_g(ilon,istep)=icnt_g(ilon,istep)+1 fdat_g(ilon,istep)=fdat_g(ilon,istep)+ $ fdat_ak(ilev_sel,iprof) icnt_avg_g(ilon)=icnt_avg_g(ilon)+1 fdat_avg_g(ilon)=fdat_avg_g(ilon)+ $ fdat_ak(ilev_sel,iprof) endif endfor endfor ;stop for ilon=0, nlon_g-1 do begin if(icnt_avg_g(ilon) gt 0) then begin fdat_avg_g(ilon)=fdat_avg_g(ilon)/icnt_avg_g(ilon) endif for istep=0, nstep-1 do begin if(icnt_g(ilon,istep) gt 0) then begin fdat_g(ilon,istep)=fdat_g(ilon,istep)/icnt_g(ilon,istep) fdat_anm_g(ilon,istep)=fdat_g(ilon,istep)-fdat_avg_g(ilon) endif endfor endfor savfile='TESMLS_CO_'+slat_0+'_'+slat_1+'_'+slev_sel+'_'+syear+'.sav' save, /variables, filename=savfile end