; ===================================================================================== pro read_cips_3c,file,nrev,nbin,rev,date,latlo,lathi,mode,lon,sza,ltime,ut, $ num_cld,num_obs,alb,alb_std,rad,rad_std,iwc,iwc_std,iostatus ; ===================================================================================== ; Reads in a CIPS summary file and returns all data. ; ------------------------------------------------------------------------------------- ; Input: ; ; file Name of ascii file to be read (includes full path) ; ; Output: ; ; nrev - integer Number of AIM orbits in the season. ; nbin - integer Number of latitude bins. ; rev - lonarr(nrev) AIM orbit number. ; date - lonarr(nrev) Date in YYYYMMDD format ; latlo - intarr(nbin) Lower edge of latitude bin. ; lathi - intarr(nbin) Upper edge of latitude bin. ; mode - strarr(nbin) CIPS orbital mode used for this latitude bin ; "dsc" - descending portion of orbit ; "asc" - ascending portion of orbit ; ; num_obs - intarr(nrev,nbin) Total number of valid CIPS measurements in the bin. ; num_cld - intarr(nrev,nbin) Number of points in the bin where a cloud is detected ; above the albedo threshold. ; ; ut - fltarr(nrev,nbin) Mean UT time of CIPS measurements. ; ltime - fltarr(nrev,nbin) Mean local time of CIPS measurements. ; lon - fltarr(nrev,nbin) Mean longitude of CIPS measurements. ; sza - fltarr(nrev,nbin) Mean solar zenith angle of CIPS measurements. ; ; alb - fltarr(nrev,nbin) Mean cloud albedo [1.e-6 sr-1]. ; alb_std - fltarr(nrev,nbin) Cloud albedo standard deviation [1.e-6 sr-1]. ; rad - fltarr(nrev,nbin) Mean particle radius [nm]. ; rad_std - fltarr(nrev,nbin) Particle radius standard deviation [nm]. ; iwc - fltarr(nrev,nbin) Mean vertical column ice water content [ug/m2]. ; iwc_std - fltarr(nrev,nbin) Vertical column ice water content standar deviation [ug/m2]. ; ; Data default values: ; -999.00 Indicates no valid data points in bin. ; ------------------------------------------------------------------------------------- ncol=16 ; # of data columns in file nhead=3 ; # of header lines at top of file iostatus=1 if(file_test(file) eq 0) then begin print print,'READ_SUMMARY cannot open the requested file - please check filename or path' print iostatus=0 return endif ; --------------------------------- ; Get nbin parameter from file. ; --------------------------------- str=' ' ii=0L get_lun,u openr,u,file for i=1,nhead do readf,u,str readf,u,ii rev0=ii nbin=1 while(ii eq rev0 and not eof(u)) do begin readf,u,ii nbin+=1 endwhile if(not eof(u)) then nbin=nbin-1 close,u free_lun,u ; --------------------------------- ; Get # of orbits from file length. ; --------------------------------- get_lun,v openr,v,file ntot=0L while(not eof(v)) do begin readf,v,str ntot+=1 endwhile close,v free_lun,v ; # of orbits nrev=(ntot-nhead)/nbin rev=lonarr(nrev) date=lonarr(nrev) latlo=intarr(nbin) lathi=intarr(nbin) lon=fltarr(nrev,nbin) sza=lon ltime=lon ut=lon alb=lon alb_std=lon rad=lon rad_std=lon iwc=lon iwc_std=lon num_cld=intarr(nrev,nbin) num_obs=num_cld ; ------------------------------ ; Open file and read the data. ; ------------------------------ get_lun,w openr,w,file for i=1,nhead do readf,w,str for i=0,nrev-1 do begin x=dblarr(ncol,nbin) readf,w,x rev(i)=long(reform(x(0,0))) date(i)=long(reform(x(3,0))) if(i eq 0) then begin latlo=fix(reform(x(1,*))) lathi=fix(reform(x(2,*))) endif ltime(i,*) =reform(x(4,*)) ut(i,*) =reform(x(5,*)) lon(i,*) =reform(x(6,*)) sza(i,*) =reform(x(7,*)) num_obs(i,*)=reform(x(8,*)) num_cld(i,*)=reform(x(9,*)) alb(i,*) =reform(x(10,*)) alb_std(i,*)=reform(x(11,*)) rad(i,*) =reform(x(12,*)) rad_std(i,*)=reform(x(13,*)) iwc(i,*) =reform(x(14,*)) iwc_std(i,*)=reform(x(15,*)) endfor free_lun,w ; Satellite mode - ascending or descending portion mode=strarr(nbin) for i=0,nbin-1 do begin if(latlo(i) lt lathi(i)) then begin mode(i)='asc' endif else mode(i)='dsc' endfor return end