in=read(desc.dat) val=sublin(in,2) starttime=getgdtg(val) in=read(desc.dat) val=sublin(in,2) endtime=getgdtg(val) in=read(desc.dat) name=sublin(in,2) in=read(desc.dat) ctl=sublin(in,2) trackfile=stormtrack "open B.ctl" "open vtl.ctl" "open vtu.ctl" "open size.ctl" "q file" rec=sublin(result,5) tmax=subwrd(rec,12) "set gxout stat" tt=1 while (tt <= tmax) "set t "tt "q dims" rec=sublin(result,5) time=subwrd(rec,6) say tt " " time rc=getpos(time,trackfile) xlon=subwrd(rc,1) if (xlon < 0) xlon=xlon+360 endif xlat=subwrd(rc,2) pres=subwrd(rc,3) dtg=getdtg1(time) "d right.1" rec=sublin(result,8) right=subwrd(rec,4) "d left.1" rec=sublin(result,8) left=subwrd(rec,4) if (right < 20000 | left < 20000) thick=right-left else thick=-99999 endif "d vtl.2" rec=sublin(result,8) slopel=subwrd(rec,4) "d vtu.3" rec=sublin(result,8) slopeu=subwrd(rec,4) "d size.4" rec=sublin(result,8) size=subwrd(rec,4) speed=-1 say "DATA " dtg " -1 " xlat " " xlon " "pres " " size " " thick " "slopel " " slopeu " " speed tt=tt+1 endwhile "quit" function getpos(reqtime,trackfile) storm=year"/"name rc=0 lon=-9999 lat=-9999 tstamp="" dummy=read(trackfile) while (rc = 0 & tstamp!=reqtime) out=read(trackfile) rc=sublin(out,1) data=sublin(out,2) lat=subwrd(data,2) lon=subwrd(data,3) pres=subwrd(data,4) date=subwrd(data,1) tstamp=getgdtg(date) endwhile rc=close(trackfile) return(lon " " lat " " pres) function getmonth(month) months = "JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC" mo2=subwrd(months,month) return(mo2) function getgdtg(dtg) year=substr(dtg,1,4) month=substr(dtg,5,2) day=substr(dtg,7,2) hr=substr(dtg,9,2) month2=getmonth(month) string=hr"Z"day""month2""year return(string) function getdtg1(string) mons="JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC" hour=substr(string,1,2) day=substr(string,4,2) mon=substr(string,6,3) year=substr(string,9,4) ii=1 while (subwrd(mons,ii) != mon) ii=ii+1 endwhile monn=ii if (monn < 10) monn="0"monn endif dtg=year monn day hour return(dtg)