subroutine mkutlab(utmin,ntms,idelmin,labs,utlabs,mxlabs,nlabs) dimension utmin(ntms),utlabs(mxlabs) character*8 labs(mxlabs),tlabs(mxlabs) c c Given utmin(ntms) in decimal minutes (*includes* julian day), c return char labs(nlabs) suitable for labeling the ut (dec hrs) c do i=1,mxlabs labs(i) = ' ' enddo dmintot = utmin(ntms)-utmin(1) min0 = irnd(ifix(utmin(1)),idelmin) ! first label nlabs = 0 do i=1,1000 min = min0+(i-1)*idelmin if (min.gt.ifix(utmin(ntms))) return if (float(min).ge.utmin(1)) then nlabs = nlabs+1 uthr = float(min)/60. if (uthr.gt.24.) uthr = uthr - (ifix(uthr)/24*24) write(tlabs(nlabs),"(f8.2)") uthr utlabs(nlabs) = uthr call compress(tlabs(nlabs),labs(nlabs)) endif enddo return end c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c function irnd(n,nr) c c return n rounded to nearest nr c iu = 0 if (mod(n,nr).eq.0) then irnd = n return endif do i=1,nr if (mod(n+i,nr).eq.0) iu = i enddo id = 0 do i=1,nr if (mod(n-i,nr).eq.0) id = i enddo ii = iu if (id.lt.iu) ii = id if (ii.eq.iu) then irnd = n+ii else irnd = n-ii endif return end c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c subroutine compress(str,cstr) character*(*) str,cstr c length = len(str) ii = 0 do i=1,length if (str(i:i).ne.' ') then ii = ii+1 cstr(ii:ii) = str(i:i) endif enddo if (ii.lt.length) then do i=ii+1,length cstr(i:i) = ' ' enddo endif return end