! call progpulinup(iprog) !increment PROGRAMPULIN[iprog] ! and deposit # tics since previous call in PROGRAMDELAY[iprog] subroutine progpulinup(iprog) integer:: iprog,itics integer,save:: minu=0,lminu,maxi real,save:: now=0.,last logical,save:: init=.false. call vxincn('PROGRAMPULIN',iprog,iprog,1) !increment program iter last=now now=secnds(0.0) lminu=minu minu=now/60 !use minute if(.not.init) then init=.true. now=secnds(0.0) minu=now/60 maxi=0 else itics=min(10000,int((now-last)*60.)) !166 minutes is forever if(itics.lt.0) itics=0 !midnight?? maxi=max(maxi,itics) !accum max per minute if(minu.ne.lminu) then call vxputn('PROGRAMDELAY',iprog,iprog,maxi) maxi=itics !reset minute memory endif endif return end