SUBROUTINE VXGRID REAL*4 XFAC,XOFF INTEGER*2 XTYPE,XMAXB,XSMINB,XSMAXB,XSNOWB COMMON/VXDES/XFAC,XOFF,XTYPE,XMAXB,XSMINB,XSMAXB,XSNOWB REAL*4 XAFDU,XADDU,XADDB INTEGER*2 XAFDB,XANDB,XAIND,XAGRID,XANGB,XAING,XATICK,XANTB,XAINT COMMON/VXADES/XAFDU,XADDU,XADDB,XAFDB,XANDB,XAIND , 1 XAGRID,XANGB,XAING,XATICK,XANTB,XAINT REAL*4 YFAC,YOFF INTEGER*2 YTYPE,YMINB,YMAXB COMMON/VYDES/YFAC,YOFF,YTYPE,YMINB,YMAXB REAL*4 YAFDU,YADDU,YADDB INTEGER*2 YAFDB,YAGRID,YATICK COMMON/VYADES/YAFDU,YADDU,YADDB,YAFDB,YAGRID,YATICK LOGICAL*1 PNTBUF(2),PLTBUF(2),PLTYGB(2) INTEGER*2 RPSPP COMMON/VPNTBF/RPSPP,PNTBUF COMMON/VPLTBF/PLTBUF COMMON/VPLTYG/PLTYGB INTEGER*2 BEGBYT,ENDBYT,GRD,BYTE IF(XSNOWB.EQ.0)GO TO 1000 IF(XSNOWB.EQ.XMAXB)GO TO 1000 BEGBYT=(YMINB-1)/8+1 ENDBYT=(YMAXB-1)/8+1 C LETS SET EVERY OTHER BIT IS=BEGBYT+1 IE=ENDBYT-1 IF(IS.GT.IE)GO TO 905 DO 900 I=IS,IE 900 PLTBUF(I)="125 905 CONTINUE C NOW SET BITS AT EDGES NSHIFT=(YMINB-8*(BEGBYT-1))/2 BYTE="125 IF(NSHIFT.LE.0)GO TO 915 DO 910 I=1,NSHIFT 910 BYTE=BYTE/4 915 CALL VIOR(BYTE,PLTBUF(BEGBYT)) 920 NSHIFT=(8*ENDBYT-YMAXB+1)/2 BYTE="125 IF(NSHIFT.LE.0)GO TO 940 DO 930 I=1,NSHIFT 930 BYTE=BYTE*4 940 CALL VIOR(BYTE,PLTBUF(ENDBYT)) 1000 CALL VCNGT(XAGRID,XANDB,XADDB,XTYPE,XAING,XANGB) RETURN END