SUBROUTINE XAXIS(XMIN,XMAX,DX,DXINCH) REAL*4 XMIN,DX,DXINCH,XMAX 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 INTEGER*2 PSPP,PBUFL,PCY,PCYSPP,PBY,POFBY REAL*4 PBPIY,PBPCY,PBPIX COMMON/VPDP/PSPP,PBUFL,PCY,PCYSPP,PBY,POFBY,PBPIY,PBPCY,PBPIX INTEGER*2 AMAX,ALAST,ALEN,A COMMON/VADES/AMAX,ALAST,ALEN,A(2) IF(DXINCH.LT.0.0) GO TO 1010 XTYPE=0 GO TO 1020 1010 XTYPE=1 DXINCH=-DXINCH 1020 CONTINUE XMAXB=32767 XSMINB=0 XSMAXB=-1 ALAST=-ALEN DO 1030 I=1,AMAX 1030 A(I)=32767 XAGRID=0 XADDB=DXINCH*PBPIX IF(XTYPE.EQ.1)GO TO 2000 IF(XMAX.NE.XMIN)XMAXB=XADDB*(XMAX-XMIN)/DX+.5 XADDU=DX IF((DX.GE.0.0).AND.(XMIN.GE.0.0))DEL=.999 IF((DX.GE.0.0).AND.(XMIN.LT.0.0))DEL=-.001 IF((DX.LT.0.0).AND.(XMIN.GE.0.0))DEL=.001 IF((DX.LT.0.0).AND.(XMIN.LT.0.0))DEL=-.999 XAFDU=DX*IFIX(XMIN/DX+DEL) XAFDB=XADDB*((XAFDU-XMIN)/DX)+.5 XFAC=XADDB/XADDU XOFF=-XMIN*XFAC XATICK=10 RETURN 2000 CONTINUE IF(XMAX.LT.XMIN)GO TO 2010 XADDU=10.0 IF(XMAX.NE.XMIN)XMAXB=XADDB*ALOG10(XMAX/XMIN) XFAC=XADDB GO TO 2020 2010 XADDU=.1 IF(XMAX.NE.XMIN)XMAXB=XADDB*ALOG10(XMIN/XMAX) XFAC=-XADDB 2020 I=IFIX(ALOG10(XMIN)+.999) IF(XMAX.LT.XMIN)I=I-1 XAFDU=10.0**I XAFDB=XADDB*ALOG10(XAFDU/XMIN)+.5 XFAC=XADDB XOFF=-ALOG10(XMIN)*XFAC XATICK=9 RETURN END