SUBROUTINE YAXIS(YMIN,YMAX,DY,PYMIN,PYMAX) REAL*4 YMIN,YMAX,DY,PYMIN,PYMAX 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 INTEGER*2 PSPP,PBUFL,PCY,PCYSPP,PBY,POFBY REAL*4 PBPIY,PBPCY,PBPIX COMMON/VPDP/PSPP,PBUFL,PCY,PCYSPP,PBY,POFBY,PBPIY,PBPCY,PBPIX IF(PYMIN.LT.0.0)GO TO 1010 YTYPE=0 GO TO 1020 1010 YTYPE=1 PYMIN=-PYMIN 1020 CONTINUE YAGRID=0 YMINB=PYMIN*PBPIY + .5 YMAXB=PYMAX*PBPIY + .5 IF(YTYPE.EQ.1)GO TO 2000 YADDU=DY YADDB=(YMAXB-YMINB)*DY/(YMAX-YMIN) IF((DY.GE.0.0).AND.(YMIN.GE.0.0))DEL=.999 IF((DY.GE.0.0).AND.(YMIN.LT.0.0))DEL=-.001 IF((DY.LT.0.0).AND.(YMIN.GE.0.0))DEL=.001 IF((DY.LT.0.0).AND.(YMIN.LT.0.0))DEL=-.999 YAFDU=DY*IFIX(YMIN/DY+DEL) YAFDB=YMINB+YADDB*(YAFDU-YMIN)/DY+.5 YFAC=YADDB/YADDU YOFF=-YMIN*YFAC+YMINB YATICK=10 RETURN 2000 CONTINUE YADDU=10.0 YADDB=(YMAXB-YMINB)/ALOG10(YMAX/YMIN) I=IFIX(ALOG10(YMIN)+.999) YAFDU=10.0**I YAFDB=YMINB+YADDB*ALOG10(YAFDU/YMIN)+.5 YFAC=YADDB YOFF=-ALOG10(YMIN)*YFAC + YMINB YATICK=9 RETURN END