
      subroutine pltf(f,imx,kmx,jmx,ixzp,iframe,ut,cint,cmin,cmax,ilog,
     +  ncenslt,censlt,gcmlon,dlon)
      dimension f(imx,kmx,jmx),plt(imx,jmx),vp(4),gcmlon(imx)
      character*56 toplab
      dimension ix(imx)
      data vp /.14,.92,.32,.82/
c
      xmid = 0.5*(vp(1)+vp(2))
      call cpseti('SET',0)
      call cpseti('MAP',0)
      call cpsetr('XC1',-180.)
      call cpsetr('XCM',180.)
      call cpsetr('YC1',-87.5)
      call cpsetr('YCN',87.5)
      call cpsetr('ILX',xmid)
      call cpsetr('ILY',-.10)
      call cpsetr('ILS',.015)
      call cpseti('ILP',0)
      call cpseti('LLP',0)
      call set(vp(1),vp(2),vp(3),vp(4),-180.,180.,-90.,90.,1)
c
      if (ncenslt.le.0) then
        plt(:,:) = f(:,ixzp,:)
      else
        slt0 = censlt-12.
        if (slt0.lt.0.) slt0 = slt0-12.
        ix0 = ixslt(slt0,ut,xlon,gcmlon,imx,dlon)
        write(6,"(' ')")
        write(6,"('pltf: censlt=',f4.1,' slt0=',f5.2,' ut=',f5.2,
     +    ' xlon=',f7.2,' ix0=',i2)") censlt,slt0,ut,xlon,ix0
        iflag = 0
        do i=1,imx
          ix(i) = mod(ix0+i-1,imx)
          if (ix(i).eq.0) ix(i) = imx
          if (i.gt.1.and.ix(i-1).gt.ix(i)) iflag = 1
          if (iflag.gt.0) ix(i) = ix(i)+1
          plt(i,:) = f(ix(i),ixzp,:)
        enddo
      endif
      if (ilog.gt.0) call log10f(plt,imx*jmx,1.e-20,1.e36)
      call conclr(plt,imx,imx,jmx,cint,cmin,cmax)
      call clearstr(toplab)
      write(toplab,"('FRAME ',i4,' UT=',f6.2)") iframe,ut
      call wrlab(toplab(1:lenstr(toplab)),xmid,vp(4)+.08,0.)
      call frame
      return
      end
