pro readsat_overpass,arg,platform,sattime,viewzen ;------------------------------------------------------------------------------- ;Title: readsat_overpass.pro ; ;Purpose: To read in the satellite overpass times for all available ; platforms with viewing angles less than a designated angle. ; ;Inputs: arg - Date of interest, string, 'YYYYMMDD' ; ;Outputs: platform - the satellite platform name ; sattime - the time of satellite overpass ; viewzen - the zenith viewing angle from NSA site ; ;Author: Matthew Shupe ;Date: 4/18/01 ;-------------------------------------------------------------------------------- anglelimit=30 yyyy=strmid(arg,0,4) yy=strmid(arg,2,2) mm=strmid(arg,4,2) dd=strmid(arg,6,2) ; The platforms ;--------------- platforms=['TERRA','NOAA_12','NOAA_14','NOAA_15','NOAA_16'] sattime=0.0 viewzen=99.0 platform='NONE' v1=' ' & v2=v1 & v3=v1 & v4=v1 & v5=v1 & v6=v1 & v7=v1 & v8=v1 ;Read in the data ;------------------ if long(arg) lt 20010130L then begin for p=0,n_elements(platforms)-1 do begin arg='BRW_'+platforms[p]+'.txt' file=findfile(arg) openr,lun,/get_lun,file[0] v1='80' while v1 ne yy and not(eof(lun)) do readf,lun,v1,v2,v3,v4,v5,v6,format='(1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,6X,A5)' if not(eof(lun)) then begin if fix(v2) lt 10 then v2f='0'+strmid(v2,1,1) else v2f=v2 while v2f ne mm and not(eof(lun)) do begin readf,lun,v1,v2,v3,v4,v5,v6,format='(1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,6X,A5)' if fix(v2) lt 10 then v2f='0'+strmid(v2,1,1) else v2f=v2 endwhile if not(eof(lun)) then begin if fix(v3) lt 10 then v3f='0'+strmid(v3,1,1) else v3f=v3 while v3f ne dd and not(eof(lun)) do begin readf,lun,v1,v2,v3,v4,v5,v6,format='(1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,6X,A5)' if fix(v3) lt 10 then v3f='0'+strmid(v3,1,1) else v3f=v3 endwhile if not(eof(lun)) then begin tm=0.0 vz=99.0 while v3f eq dd do begin tm=[tm,float(v4)+float(v5)/60.0] vz=[vz,float(v6)] readf,lun,v1,v2,v3,v4,v5,v6,format='(1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,6X,A5)' if fix(v3) lt 10 then v3f='0'+strmid(v3,1,1) else v3f=v3 endwhile sattime=[sattime,tm] viewzen=[viewzen,vz] platform=[platform,strarr(n_elements(tm))+platforms[p]] endif endif endif free_lun,lun endfor endif else begin for p=0,n_elements(platforms)-1 do begin arg='yNSA_'+platforms[p]+'.txt' file=findfile(arg) openr,lun,/get_lun,file[0] v1='8000' while v1 ne yyyy and not(eof(lun)) do readf,lun,v1,v2,v3,v4,v5,v6,v7,v8,format='(1X,A4,1X,A3,1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,5X,A5)' if not(eof(lun)) then begin if fix(v3) lt 10 then v3f='0'+strmid(v3,1,1) else v3f=v3 while v3f ne mm and not(eof(lun)) do begin readf,lun,v1,v2,v3,v4,v5,v6,v7,v8,format='(1X,A4,1X,A3,1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,5X,A5)' if fix(v3) lt 10 then v3f='0'+strmid(v3,1,1) else v3f=v3 endwhile if not(eof(lun)) then begin if fix(v4) lt 10 then v4f='0'+strmid(v4,1,1) else v4f=v4 while v4f ne dd and not(eof(lun)) do begin readf,lun,v1,v2,v3,v4,v5,v6,v7,v8,format='(1X,A4,1X,A3,1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,5X,A5)' if fix(v4) lt 10 then v4f='0'+strmid(v4,1,1) else v4f=v4 endwhile if not(eof(lun)) then begin tm=0.0 vz=99.0 while v4f eq dd and not(eof(lun)) do begin tm=[tm,float(v5)+float(v6)/60.0] vz=[vz,float(v8)] readf,lun,v1,v2,v3,v4,v5,v6,v7,v8,format='(1X,A4,1X,A3,1X,A2,1X,A2,1X,A2,1X,A2,1X,A2,5X,A5)' if fix(v4) lt 10 then v4f='0'+strmid(v4,1,1) else v4f=v4 endwhile sattime=[sattime,tm] viewzen=[viewzen,vz] platform=[platform,strarr(n_elements(tm))+platforms[p]] endif endif endif free_lun,lun endfor endelse iwh=where(viewzen le anglelimit,num) if num gt 0 then begin sattime=sattime[iwh] viewzen=viewzen[iwh] platform=platform[iwh] endif else begin sattime=-1 viewzen='' platform='' endelse end