47 10
FORMAT(/1x,
'LIBRARY PPPLIB'/1x,
'VERSION 15, D.D. 7/12/91')
51 SUBROUTINE lplot6(MX,MY,X,Y,NPTS,TITLE)
71 CALL
lplot(mx,my,1,x,y,npts,1,title,len(title),
'X',1,
'Y',1)
75 SUBROUTINE hplot6(MX,MY,X,Y,NPTS,TITLE)
93 CALL hplot(mx,my,1,x,y,npts,1,title,len(title),
'X',1,
'Y',1)
97 SUBROUTINE cplot8(MX,MY,X,Y,NX,NY,Z,TITLE)
124 real (r8) x(*),y(*),z(nx,*),zc(nc)
128 CALL
cplot(mx,my,1,x,y,nx,ny,1,1,z,nx,zc,-nc,
129 a title,len(title),
'X',1,
'Y',1)
133 SUBROUTINE vplot9(MX,MY,X,Y,NX,NY,VX,VY,TITLE)
157 real (r8) x(*),y(*),vx(nx,*),vy(nx,*)
161 CALL
vplot(mx,my,111,x,y,nx,ny,1,1,vx,vy,nx,.9_r8,20,
162 a title,len(title),
'X',1,
'Y',1)
166 SUBROUTINE splot9(MX,MY,IS,YX,ZXY,NX,NY,Z,TITLE)
194 real (r8) yx(*),zxy(*),z(nx,*)
195 integer mx,my,is,nx,ny
199 IF(is.EQ.1) CALL
splot(mx,my,1,30971,yx,zxy,nx,ny,1,z,nx,ijarr,
200 a -ns,title,len(title),
'Y',1,
' ',1)
201 IF(is.EQ.2) CALL
splot(mx,my,2,30971,yx,zxy,nx,ny,1,z,nx,ijarr,
202 a -ns,title,len(title),
'X',1,
' ',1)
206 SUBROUTINE aplot9(MX,MY,IA,YX,AVXY,NX,NY,Z,TITLE)
229 real (r8) yx(*),avxy(*),z(nx,*)
230 integer mx,my,ia,nx,ny
233 IF(ia.EQ.1) CALL
aplot(mx,my,1,yx,avxy,nx,ny,1,z,nx,1,nx,
234 a title,len(title),
'Y',1,
' ',1)
235 IF(ia.EQ.2) CALL
aplot(mx,my,2,yx,avxy,nx,ny,1,z,nx,1,ny,
236 a title,len(title),
'X',1,
' ',1)
240 SUBROUTINE lplot(MX,MY,IOP,X,Y,NPTS,INC,
241 a title,ntitle,xname,nxname,yname,nyname)
369 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
370 real (r8) xl,xr,yb,yt
371 integer ixl,ixr,iyb,iyt
373 integer mx,my,iop,npts,inc,ntitle,nxname,nyname
374 CHARACTER*(*) title,xname,yname
375 CHARACTER title1*80,range*14
376 real (r8) xmn, xmx, ymn, ymx, rng, xfac, yfac,
377 & hx, xjs, xj,
alog19, zix1, yj, ziy1, zix, ziy, zidx1,
379 integer iopa, jop, ntot, inca, n, ic, imx, imy, icharsize,
380 & idum, nb, ntitl1, j
381 LOGICAL fhist,flogx,flogy,fconn,fchar
390 if(x(j) .ne. x(j))
then
391 write(*,*)
'lplot: x range includes NaN'
394 if(y(j) .ne. y(j))
then
395 write(*,*)
'lplot: y range includes NaN'
403 IF(jop.EQ.3.OR.jop.EQ.4) flogx=.true.
404 IF(jop.EQ.2.OR.jop.EQ.4) flogy=.true.
418 n=mod(iopa/10000,100)
429 IF ((imx.GE.2).AND.(imy.GE.2)) icharsize=1
435 xmx=x(1)+(ntot-1)*x(2)/inca
437 CALL
maxv(x,ntot,inca,xmx,idum)
438 CALL minv(x,ntot,inca,xmn,idum)
440 CALL
maxv(y,ntot,inca,ymx,idum)
441 CALL minv(y,ntot,inca,ymn,idum)
444 IF(rng.LT.(.02*abs(ymx)))
THEN
445 WRITE(range,
'(''RNG ='',1PE9.2)') rng
449 ntitl1=isign(min(iabs(ntitle)+nb,80),ntitle)
450 CALL
nframe(mx,my,jop,xmn,xmx,ymn,ymx,
451 a title1,ntitl1,xname,nxname,yname,nyname)
452 IF(nb.NE.0) CALL
dlch(ixr-120,iyt+8,range,14,1)
459 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
460 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
466 zix1=
REAL(ixl,r8)+(xj-xl)*xfac
469 ziy1=
REAL(iyb,r8)+(yj-yb)*yfac
470 IF(fhist) CALL
drv(zix1,
REAL(IYB,R8),zix1,ziy1)
471 IF(fchar.AND.n.EQ.1) CALL
dlch(int(zix1),-int(ziy1),
' ',ic,1)
472 DO 20 j=1+inca,ntot,inca
474 IF(inc.GT.0) xjs=x(j)
477 zix=
REAL(ixl,r8)+(xj-xl)*xfac
480 ziy=
REAL(iyb,r8)+(yj-yb)*yfac
483 CALL
drv(zix1,ziy1,zix,ziy1)
484 CALL
drv(zix,ziy1,zix,ziy)
491 CALL
clip(zidx1,zidy1,zidx,zidy)
493 IF(fchar.AND.mod(j,n).EQ.0)
THEN
494 IF((zix.GT.
REAL(ixl,r8).AND.zix.LT.
REAL(ixr,r8)).AND.
495 a(ziy.GT.
REAL(iyb,r8).AND.ziy.LT.
REAL(iyt,r8)))
496 b CALL
dlch(int(zix),-int(ziy),
' ',ic,-icharsize)
505 entry hplot(mx,my,iop,x,y,npts,inc,
506 a title,ntitle,xname,nxname,yname,nyname)
511 SUBROUTINE clip(ZIX1,ZIY1,ZIX2,ZIY2)
521 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
522 real (r8) xl,xr,yb,yt
523 integer ixl,ixr,iyb,iyt
524 real (r8) zix1,ziy1,zix2,ziy2
528 CALL
code(zix1,ziy1,c1)
529 CALL
code(zix2,ziy2,c2)
530 10
IF((c1.GT.1).OR.(c2.GT.1))
THEN
531 IF(mod(44100/(c1*c2),210).NE.0)
RETURN
534 IF(mod(c,5).EQ.0)
THEN
535 ziy = ziy1 + (ziy2-ziy1)*(
REAL(ixl,r8)-zix1)/(zix2-zix1)
538 IF(mod(c,7).EQ.0)
THEN
539 ziy = ziy1 + (ziy2-ziy1)*(
REAL(ixr,r8)-zix1)/(zix2-zix1)
542 IF(mod(c,3).EQ.0)
THEN
544 & (zix2-zix1)*(
REAL(iyb,r8)-ziy1)/(ziy2-ziy1)
547 IF(mod(c,2).EQ.0)
THEN
549 & (zix2-zix1)*(
REAL(iyt,r8)-ziy1)/(ziy2-ziy1)
558 CALL
code(zix,ziy,c1)
562 CALL
code(zix,ziy,c2)
566 CALL
drv(zix1,ziy1,zix2,ziy2)
579 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
580 real (r8) xl,xr,yb,yt
581 integer ixl,ixr,iyb,iyt
586 IF(zix.LT.
REAL(ixl,r8)) then
589 IF(zix.GT.
REAL(ixr,r8)) c = 7*c
591 IF(ziy.LT.
REAL(iyb,r8)) then
594 IF(ziy.GT.
REAL(iyt,r8)) c = 2*c
599 SUBROUTINE pplot(MX,MY,X,Y,NPTS,INC)
632 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
633 real (r8) xl,xr,yb,yt
634 integer ixl,ixr,iyb,iyt
635 real (r8) x(*),y(*),z(*)
636 integer mx,my,npts,inc
638 real (r8) xfac, yfac, zix, ziy
642 xfac=(ixr-ixl)/(xr-xl)
643 yfac=(iyt-iyb)/(yt-yb)
644 DO 10 j=1,npts,iabs(inc)
645 zix=min(max(
REAL(IXL,R8),
REAL(ixl,r8)+(x(j)-xl)*xfac),
647 ziy=min(max(
REAL(IYB,R8),
REAL(iyb,r8)+(y(j)-yb)*yfac),
653 entry pplotc(mx,my,x,y,npts,inc,z,zmin,zmax)
656 xfac=(ixr-ixl)/(xr-xl)
657 yfac=(iyt-iyb)/(yt-yb)
658 DO 20 j=1,npts,iabs(inc)
659 IF(z(j).LT.zmin) goto 20
660 IF(z(j).GT.zmax) goto 20
661 zix=min(max(
REAL(IXL,R8),
REAL(ixl,r8)+(x(j)-xl)*xfac),
663 ziy=min(max(
REAL(IYB,R8),
REAL(iyb,r8)+(y(j)-yb)*yfac),
670 SUBROUTINE dplot(MX,MY,X,Y,NPTS,INC,L1,L2)
697 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
698 real (r8) xl,xr,yb,yt
699 integer ixl,ixr,iyb,iyt
701 integer mx,my,npts,inc,l1,l2
702 real (r8) xfac, yfac, zix1, ziy1, zix, ziy
703 integer l, inca, j, ll
706 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
707 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
708 zix1=min(max(
REAL(IXL,R8),
REAL(ixl,r8)+(x(1)-xl)*xfac),
710 ziy1=min(max(
REAL(IYB,R8),
REAL(iyb,r8)+(y(1)-yb)*yfac),
714 DO 10 j=1+inca,npts,inca
715 zix=min(max(
REAL(IXL,R8),
REAL(ixl,r8)+(x(j)-xl)*xfac),
717 ziy=min(max(
REAL(IYB,R8),
REAL(iyb,r8)+(y(j)-yb)*yfac),
719 CALL
dash(zix1,ziy1,zix,ziy,l1,l2,l,ll)
727 SUBROUTINE dash(ZIX1,ZIY1,ZIX2,ZIY2,L1,L2,L,LL)
741 real (r8) zix1,ziy1,zix2,ziy2
743 real (r8) r, xfac, yfac, dx, dy, zix, ziy
744 integer ir, ltot, l11, l22
746 r=sqrt(
REAL((zix2-zix1)**2+(ziy2-ziy1)**2,r8))
761 10
IF(ll.EQ.0.AND.l1.EQ.0) CALL
drp(zix,ziy)
763 l11=min(l1-ll,ir-ltot)
769 IF(l1.NE.0) CALL
clip(zix1,ziy1,zix,ziy)
770 IF(l1.EQ.0) CALL
drp(zix,ziy)
774 l22=min(l1+l2-ll,ir-ltot)
784 IF(ltot.LT.ir) goto 10
788 SUBROUTINE cplot(MX,MY,ILAB,X,Y,NX,NY,INCX,INCY,Z,NDIM,ZC,NC,
789 a title,ntitle,xname,nxname,yname,nyname)
862 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
863 real (r8) xl,xr,yb,yt
864 integer ixl,ixr,iyb,iyt
865 COMMON /cplcom/xfac,yfac,fx0,fy0,isym(26),nlab,n1c
866 real (r8) xfac,yfac,fx0,fy0
867 integer isym,nlab,n1c
868 real (r8) x(*),y(*),z(ndim,*),zc(*)
869 CHARACTER*(*) title,xname,yname
871 CHARACTER*19 amin,amax
873 real (r8) rmax,rmx,xmn,ymn,xmx,ymx,hx,hy,zmin,zmax,delz,
alog19,
874 & step,zct,y1,y2,x1,x2,xbar,ybart,ybarb
875 integer mx,my,ilab,nx,ny,incx,incy,ndim,nc,ntitle,nxname,nyname,
876 & iquad,lgz,i,ilgz,icord,nnx,nny,inx,iny,nb,ntitl1,noc,icps,
877 & idum,jdum,lgmx,lgmn,ldec,ic,ii,id,iqud,j
904 xmx=x(1)+(nnx-1)*x(2)/inx
910 ymx=y(1)+(nny-1)*y(2)/iny
918 IF(iabs(ilab).EQ.1)
THEN
923 ntitl1=isign(min(iabs(ntitle)+nb,80),ntitle)
924 CALL
nframe(mx,my,1,xmn,xmx,ymn,ymx,
925 a title1,ntitl1,xname,nxname,yname,nyname)
934 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
935 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
936 fx0=
REAL(ixl,r8)-xl*xfac
937 fy0=
REAL(iyb,r8)-yb*yfac
947 CALL minm(z,ndim,nnx,nny,inx,iny,zmin,idum,jdum)
948 CALL
maxm(z,ndim,nnx,nny,inx,iny,zmax,idum,jdum)
952 30 zc(ic)=zmin+(
REAL(ic,r8)-.5)*delz
955 IF(zmax.LT.1._r8) lgmx=lgmx-1
957 IF(zmin.LT.1._r8) lgmn=lgmn-1
958 lgmn=max(lgmn,lgmx-25)
961 IF(ilgz.EQ.1) ldec=min(ldec,2)
962 IF(ilgz.EQ.2) ldec=min(ldec,5)
966 IF(ldec.GT.2.AND.ilgz.LT.2) ilgz=2
967 IF(ldec.GT.5.AND.ilgz.LT.3) ilgz=4
968 IF(ldec.GT.8) ilgz=10
975 IF((ic.EQ.noc).OR.(zct.GT.zmax)) goto 60
984 IF(abs(ilab).EQ.1)
THEN
986 WRITE(amin,
'(''='',1PE9.2)') zc(1)
987 WRITE(amax,
'(''='',1PE9.2)') zc(noc)
988 CALL
dlch(ixr-90,iyt+18,
' ',n1,1)
989 CALL
dlch(ixr-75,iyt+18,amin,10,1)
990 CALL
dlch(ixr-90,iyt+4,
' ',n1+noc-1,1)
991 CALL
dlch(ixr-75,iyt+4,amax,10,1)
993 WRITE(amin,
'(''='',1PE9.2,'' ILGZ ='',I2)') zc(1),ilgz
994 WRITE(amax,
'(''='',1PE9.2,'' LDEC ='',I2)') zc(noc),ldec
995 CALL
dlch(ixr-170,iyt+18,
' ',n1,1)
996 CALL
dlch(ixr-155,iyt+18,amin,19,1)
997 CALL
dlch(ixr-170,iyt+4,
' ',n1+noc-1,1)
998 CALL
dlch(ixr-155,iyt+4,amax,19,1)
1005 DO 80 j=1+iny,nny,iny
1006 IF(incy.GT.0) hy=y(j)-y(j-iny)
1009 DO 70 i=1+inx,nnx,inx
1010 IF(incx.GT.0) hx=x(i)-x(i-inx)
1012 zt(1)=z(i-inx,j-iny)
1016 IF(abs(zt(3)-zt(1)).GE.abs(zt(4)-zt(2)))
THEN
1017 CALL
tricj3(x1,y1,hx,hy,icps,zc,zt(2),zt(1),zt(4),icord)
1018 CALL
tricj3(x2,y2,-hx,-hy,icps,zc,zt(4),zt(3),zt(2),icord)
1020 CALL
tricj3(x2,y1,-hx,hy,icps,zc,zt(1),zt(2),zt(3),icord)
1021 CALL
tricj3(x1,y2,hx,-hy,icps,zc,zt(3),zt(4),zt(1),icord)
1028 IF (ilab.EQ.-1)
THEN
1030 ybart =
REAL(iyt,r8)
1031 ybarb =
REAL(iyb,r8)
1032 CALL
colorbar(zc,noc,xbar,ybart,ybarb)
1039 entry cplotx(mx,my,ilab,x,y,nx,ny,incx,incy,z,ndim,zc,nc,
1040 a title,ntitle,xname,nxname,yname,nyname,
1043 ilgz=min(iabs(lgz),4)
1044 IF(ilgz.LT.0) flgz=.true.
1045 IF(rmax.EQ.0._r8) goto 10
1048 IF(rmax.LT.0._r8) icord=2
1056 IF(incx.LT.0) hx=x(2)
1057 IF(incy.LT.0) hy=y(2)
1063 IF(iqud.GT.2.AND.rmax.LT.0.) iqud=2
1068 ELSEIF(iqud.EQ.3.OR.iqud.EQ.4)
THEN
1076 SUBROUTINE tricj3(XV,YV,DX,DY,NOC,ZC,ZX,ZV,ZY,ICORD)
1097 real (r8) xv,yv,dx,dy,zx,zv,zy
1099 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
1100 real (r8) xl,xr,yb,yt
1101 integer ixl,ixr,iyb,iyt
1102 COMMON /cplcom/xfac,yfac,fx0,fy0,isym(26),nlab,n1c
1103 real (r8) xfac,yfac,fx0,fy0
1104 integer isym,nlab,n1c
1106 real (r8) x(3),y(3),z(3),xp(3),yp(3)
1107 real (r8) pi,tpi,flp1,tx1,frac,x1,y1,x2,y2,flp2,tx2,
1108 & zix1,ziy1,zix2,ziy2
1109 integer n1,ix,icps,noc2,iv,iy,i,ic,icc,idx,idy,ix11,iy11
1111 pi=3.1415926535898_r8
1116 IF (noc.LE.0) icps=1
1156 IF(yp(i).GT.pi.AND.yp(i).LT.tpi) flp1=-1._r8
1159 yp(i)=min(max(-1.0_r8,yp(i)),1.0_r8)
1161 yp(i)=flp1*xp(i)*sqrt(1._r8-yp(i)*yp(i))
1164 xp(i) = fx0 + xp(i)* xfac
1165 yp(i) = fy0 + yp(i)* yfac
1167 CALL
filltria(xp,yp,z,zc(1),zc(noc2))
1172 IF(z(1).EQ.z(3))
RETURN
1175 IF(zc(ic).LT.z(1)) goto 10
1176 IF(zc(ic).GT.z(3)) goto 20
1177 frac=(zc(ic)-z(1))/(z(3)-z(1))
1178 x1=x(1)+(x(3)-x(1))*frac
1179 y1=y(1)+(y(3)-y(1))*frac
1180 IF(zc(ic).LE.z(2).AND.z(1).NE.z(2))
THEN
1181 frac=(zc(ic)-z(1))/(z(2)-z(1))
1182 x2=x(1)+frac*(x(2)-x(1))
1183 y2=y(1)+frac*(y(2)-y(1))
1185 frac=(zc(ic)-z(2))/(z(3)-z(2))
1186 x2=x(2)+frac*(x(3)-x(2))
1187 y2=y(2)+frac*(y(3)-y(2))
1193 IF(y1.GT.pi.AND.y1.LT.tpi) flp1=-1._r8
1194 IF(y2.GT.pi.AND.y2.LT.tpi) flp2=-1._r8
1198 y1=min(max(-1.0_r8,y1),1.0_r8)
1199 y2=min(max(-1.0_r8,y2),1.0_r8)
1201 y1=flp1*x1*sqrt(1.0_r8-y1*y1)
1204 y2=flp2*x2*sqrt(1.0_r8-y2*y2)
1212 CALL
drv(zix1,ziy1,zix2,ziy2)
1213 isym(ic)=isym(ic)+nlab
1214 IF(isym(ic).GE.1)
THEN
1218 IF(abs(zix2-zix1).GE.abs(ziy2-ziy1))
THEN
1222 ix11=min(max(ixl+5,int(zix1)+idx),ixr-5)
1223 iy11=min(max(iyb+5,int(ziy1)+idy),iyt-5)
1224 CALL
dlch(ix11,-iy11,
' ',icc,1)
1233 SUBROUTINE cplotm(MX,MY,ILAB1,X,Y,NX,NY,INCX,INCY,Z,NDIM,ZC,NC,
1234 a title,ntitle,xname,nxname,yname,nyname)
1254 integer mx,my,ilab1,nx,ny,incx,incy,ndim,nc,
1255 a ntitle,nxname,nyname,iquad,lgz
1256 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
1257 real (r8) xl,xr,yb,yt
1258 integer ixl,ixr,iyb,iyt
1259 COMMON /cplcom/xfac,yfac,fx0,fy0,isym(26),nlab,n1c
1260 real (r8) xfac,yfac,fx0,fy0
1261 integer isym,nlab,n1c
1262 real (r8) x(ndim,*),y(ndim,*),z(ndim,*),zc(*)
1263 CHARACTER*(*) title,xname,yname
1264 real (r8) zt(4),xz(4),yz(4),xp(ndim),yp(ndim)
1265 CHARACTER*19 amin,amax
1268 real (r8) rmx,xmn,ymn,xmx,ymx,delz,zmax,zmin,
alog19,step,zct,
1269 & xbar,ybart,ybarb,xtt,ytt
1270 integer ilab,i,ilgz,icord,nnx,nny,inx,iny,j,nb,ntitl1,noc,icps,
1271 & idum,jdum,lgmx,ic,lgmn,ldec,id,ii,iqud,iplgr
1275 ilab = mod(ilab1,10)
1300 IF (x(i,j).GT.xmx) xmx=x(i,j)
1301 IF (x(i,j).LT.xmn) xmn=x(i,j)
1302 IF (y(i,j).GT.ymx) ymx=y(i,j)
1303 IF (y(i,j).LT.ymn) ymn=y(i,j)
1315 ntitl1=isign(min(iabs(ntitle)+nb,80),ntitle)
1316 CALL
nframe(mx,my,1,xmn,xmx,ymn,ymx,
1317 a title1,ntitl1,xname,nxname,yname,nyname)
1325 IF (ilab1.GT.9)
THEN
1327 IF (icord.EQ.0)
THEN
1334 xp(j) = x(j,i)*cos(y(j,i))
1335 yp(j) = x(j,i)*sin(y(j,i))
1338 CALL
dplot(mx,my,xp,yp,nx,1,2,8)
1341 IF (icord.EQ.0)
THEN
1348 xp(j) = x(i,j)*cos(y(i,j))
1349 yp(j) = x(i,j)*sin(y(i,j))
1352 CALL
dplot(mx,my,xp,yp,ny,1,2,8)
1358 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
1359 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
1360 fx0=
REAL(ixl,r8)-xl*xfac
1361 fy0=
REAL(iyb,r8)-yb*yfac
1372 CALL minm(z,ndim,nnx,nny,inx,iny,zmin,idum,jdum)
1373 CALL
maxm(z,ndim,nnx,nny,inx,iny,zmax,idum,jdum)
1375 delz=(zmax-zmin)/noc
1377 30 zc(ic)=zmin+(
REAL(ic,r8)-.5)*delz
1380 IF(zmax.LT.1._r8) lgmx=lgmx-1
1382 IF(zmin.LT.1._r8) lgmn=lgmn-1
1383 lgmn=max(lgmn,lgmx-25)
1386 IF(ilgz.EQ.1) ldec=min(ldec,2)
1387 IF(ilgz.EQ.2) ldec=min(ldec,5)
1391 IF(ldec.GT.2.AND.ilgz.LT.2) ilgz=2
1392 IF(ldec.GT.5.AND.ilgz.LT.3) ilgz=4
1393 IF(ldec.GT.8) ilgz=10
1399 zct=
REAL(ii,r8)*step
1400 IF((ic.EQ.noc).OR.(zct.GT.zmax)) goto 60
1411 WRITE(amin,
'(''='',1PE9.2)') zc(1)
1412 WRITE(amax,
'(''='',1PE9.2)') zc(noc)
1413 CALL
dlch(ixr-90,iyt+18,
' ',n1,1)
1414 CALL
dlch(ixr-75,iyt+18,amin,10,1)
1415 CALL
dlch(ixr-90,iyt+4,
' ',n1+noc-1,1)
1416 CALL
dlch(ixr-75,iyt+4,amax,10,1)
1418 WRITE(amin,
'(''='',1PE9.2,'' ILGZ ='',I2)') zc(1),ilgz
1419 WRITE(amax,
'(''='',1PE9.2,'' LDEC ='',I2)') zc(noc),ldec
1420 CALL
dlch(ixr-170,iyt+18,
' ',n1,1)
1421 CALL
dlch(ixr-155,iyt+18,amin,19,1)
1422 CALL
dlch(ixr-170,iyt+4,
' ',n1+noc-1,1)
1423 CALL
dlch(ixr-155,iyt+4,amax,19,1)
1429 DO 80 j=1+iny,nny,iny
1430 DO 70 i=1+inx,nnx,inx
1431 zt(1)=z(i-inx,j-iny)
1435 xz(1)=x(i-inx,j-iny)
1439 yz(1)=y(i-inx,j-iny)
1443 IF(abs(zt(3)-zt(1)).GE.abs(zt(4)-zt(2)))
THEN
1444 CALL
tricj3m(xz(2),yz(2),xz(1),yz(1),xz(4),yz(4),icps,zc,
1445 > zt(2),zt(1),zt(4),icord)
1446 CALL
tricj3m(xz(4),yz(4),xz(3),yz(3),xz(2),yz(2),icps,zc,
1447 > zt(4),zt(3),zt(2),icord)
1449 CALL
tricj3m(xz(1),yz(1),xz(2),yz(2),xz(3),yz(3),icps,zc,
1450 > zt(1),zt(2),zt(3),icord)
1451 CALL
tricj3m(xz(3),yz(3),xz(4),yz(4),xz(1),yz(1),icps,zc,
1452 > zt(3),zt(4),zt(1),icord)
1458 IF (ilab.EQ.-1)
THEN
1460 ybart =
REAL(iyt,r8)
1461 ybarb =
REAL(iyb,r8)
1462 CALL
colorbar(zc,noc,xbar,ybart,ybarb)
1467 entry cplotxm(mx,my,ilab1,x,y,nx,ny,incx,incy,z,ndim,zc,nc,
1468 a title,ntitle,xname,nxname,yname,nyname,
1471 iplgr = isign(ilab1,1)
1473 ilgz=min(iabs(lgz),4)
1474 IF(ilgz.LT.0) flgz=.true.
1475 IF(rmax.EQ.0._r8) goto 10
1478 IF(rmax.LT.0._r8) icord=2
1492 xtt = x(i,j)*cos(y(i,j))
1493 ytt = x(i,j)*sin(y(i,j))
1494 IF (xtt.GT.xmx) xmx=xtt
1495 IF (xtt.LT.xmn) xmn=xtt
1496 IF (ytt.GT.ymx) ymx=ytt
1497 IF (ytt.LT.ymn) ymn=ytt
1501 IF(iqud.GT.2.AND.rmax.LT.0._r8) iqud=2
1502 IF (iqud.EQ.1) xmn=0._r8
1503 IF (iqud.LE.2) ymn=0._r8
1509 SUBROUTINE cplotfe(MX,MY,ILAB1,X,Y,Z,NX,INC,ZC,NC,
1510 a title,ntitle,xname,nxname,yname,nyname)
1529 integer mx,my,ilab1,nx,inc,nc,ntitle,nxname,nyname
1530 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
1531 real (r8) xl,xr,yb,yt
1532 integer ixl,ixr,iyb,iyt
1533 COMMON /cplcom/xfac,yfac,fx0,fy0,isym(26),nlab,n1c
1534 real (r8) xfac,yfac,fx0,fy0
1535 integer isym,nlab,n1c
1536 real (r8) x(4,*),y(4,*),z(4,*),zc(*)
1537 CHARACTER*(*) title,xname,yname
1538 real (r8) zt(4),xz(4),yz(4),xp(5),yp(5)
1539 CHARACTER*19 amin,amax
1542 real (r8) rmx,xmn,xmx,ymn,ymx,zmin,zmax,delz,
alog19,
1543 & step,zct,xbar,ybart,ybarb
1544 integer ilab,i,ilgz,icord,nnx,inx,j,nb,ntitl1,j1,noc,
1545 & icps,idum,jdum,ic,lgmx,lgmn,ldec,id,ii
1549 ilab = mod(ilab1,10)
1572 IF (x(j,i).GT.xmx) xmx=x(j,i)
1573 IF (x(j,i).LT.xmn) xmn=x(j,i)
1574 IF (y(j,i).GT.ymx) ymx=y(j,i)
1575 IF (y(j,i).LT.ymn) ymn=y(j,i)
1587 ntitl1=isign(min(iabs(ntitle)+nb,80),ntitle)
1588 CALL
nframe(mx,my,1,xmn,xmx,ymn,ymx,
1589 a title1,ntitl1,xname,nxname,yname,nyname)
1598 IF (ilab1.GT.9)
THEN
1606 CALL
dplot(mx,my,xp,yp,4,1,2,8)
1614 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
1615 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
1616 fx0=
REAL(ixl,r8)-xl*xfac
1617 fy0=
REAL(iyb,r8)-yb*yfac
1629 CALL minm(z,4,4,nx,1,inc,zmin,idum,jdum)
1630 CALL
maxm(z,4,4,nx,1,inc,zmax,idum,jdum)
1632 delz=(zmax-zmin)/noc
1634 zc(ic)=zmin+(
REAL(ic,r8)-.5)*delz
1638 IF(zmax.LT.1._r8) lgmx=lgmx-1
1640 IF(zmin.LT.1._r8) lgmn=lgmn-1
1641 lgmn=max(lgmn,lgmx-25)
1644 IF(ilgz.EQ.1) ldec=min(ldec,2)
1645 IF(ilgz.EQ.2) ldec=min(ldec,5)
1649 IF(ldec.GT.2.AND.ilgz.LT.2) ilgz=2
1650 IF(ldec.GT.5.AND.ilgz.LT.3) ilgz=4
1651 IF(ldec.GT.8) ilgz=10
1657 zct=
REAL(ii,r8)*step
1658 IF((ic.EQ.noc).OR.(zct.GT.zmax)) goto 60
1671 WRITE(amin,
'(''='',1PE9.2)') zc(1)
1672 WRITE(amax,
'(''='',1PE9.2)') zc(noc)
1673 CALL
dlch(ixr-90,iyt+18,
' ',n1,1)
1674 CALL
dlch(ixr-75,iyt+18,amin,10,1)
1675 CALL
dlch(ixr-90,iyt+4,
' ',n1+noc-1,1)
1676 CALL
dlch(ixr-75,iyt+4,amax,10,1)
1678 WRITE(amin,
'(''='',1PE9.2,'' ILGZ ='',I2)') zc(1),ilgz
1679 WRITE(amax,
'(''='',1PE9.2,'' LDEC ='',I2)') zc(noc),ldec
1680 CALL
dlch(ixr-170,iyt+18,
' ',n1,1)
1681 CALL
dlch(ixr-155,iyt+18,amin,19,1)
1682 CALL
dlch(ixr-170,iyt+4,
' ',n1+noc-1,1)
1683 CALL
dlch(ixr-155,iyt+4,amax,19,1)
1695 IF(abs(zt(3)-zt(1)).GE.abs(zt(4)-zt(2)))
THEN
1696 CALL
tricj3m(xz(2),yz(2),xz(1),yz(1),xz(4),yz(4),icps,zc,
1697 > zt(2),zt(1),zt(4),icord)
1698 CALL
tricj3m(xz(4),yz(4),xz(3),yz(3),xz(2),yz(2),icps,zc,
1699 > zt(4),zt(3),zt(2),icord)
1701 CALL
tricj3m(xz(1),yz(1),xz(2),yz(2),xz(3),yz(3),icps,zc,
1702 > zt(1),zt(2),zt(3),icord)
1703 CALL
tricj3m(xz(3),yz(3),xz(4),yz(4),xz(1),yz(1),icps,zc,
1704 > zt(3),zt(4),zt(1),icord)
1711 ybart =
REAL(iyt,r8)
1712 ybarb =
REAL(iyb,r8)
1713 CALL
colorbar(zc,noc,xbar,ybart,ybarb)
1720 SUBROUTINE tricj3m(XX,YX,XV,YV,XY,YY,NOC,ZC,ZX,ZV,ZY,ICORD)
1741 real (r8) xx,yx,xv,yv,xy,yy,zx,zv,zy
1743 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
1744 real (r8) xl,xr,yb,yt
1745 integer ixl,ixr,iyb,iyt
1746 COMMON /cplcom/xfac,yfac,fx0,fy0,isym(26),nlab,n1c
1747 real (r8) xfac,yfac,fx0,fy0
1748 integer isym,nlab,n1c
1750 real (r8) x(3),y(3),z(3),xp(3),yp(3)
1751 real (r8) flp1,pi,tpi,tx1,frac,x1,y1,x2,y2,flp2,tx2,
1752 & zix1,ziy1,zix2,ziy2
1753 integer icps,noc2,n1,ix,iv,iy,i,ic,icc,idx,idy,ix11,iy11
1756 IF (noc.LE.0) icps=1
1799 IF(yp(i).GT.pi.AND.yp(i).LT.tpi) flp1=-1._r8
1802 yp(i)=min(max(-1.0_r8,yp(i)),1.0_r8)
1804 yp(i)=flp1*xp(i)*sqrt(1.0_r8-yp(i)*yp(i))
1807 xp(i) = fx0 + xp(i)* xfac
1808 yp(i) = fy0 + yp(i)* yfac
1810 CALL
filltria(xp,yp,z,zc(1),zc(noc2))
1814 IF(z(1).EQ.z(3))
RETURN
1816 pi=3.1415926535898_r8
1819 IF(zc(ic).LT.z(1)) goto 10
1820 IF(zc(ic).GT.z(3)) goto 20
1821 frac=(zc(ic)-z(1))/(z(3)-z(1))
1822 x1=x(1)+(x(3)-x(1))*frac
1823 y1=y(1)+(y(3)-y(1))*frac
1824 IF(zc(ic).LE.z(2).AND.z(1).NE.z(2))
THEN
1825 frac=(zc(ic)-z(1))/(z(2)-z(1))
1826 x2=x(1)+frac*(x(2)-x(1))
1827 y2=y(1)+frac*(y(2)-y(1))
1829 frac=(zc(ic)-z(2))/(z(3)-z(2))
1830 x2=x(2)+frac*(x(3)-x(2))
1831 y2=y(2)+frac*(y(3)-y(2))
1837 IF(y1.GT.pi.AND.y1.LT.tpi) flp1=-1._r8
1838 IF(y2.GT.pi.AND.y2.LT.tpi) flp2=-1._r8
1842 y1=min(max(-1.0_r8,y1),1.0_r8)
1843 y2=min(max(-1.0_r8,y2),1.0_r8)
1845 y1=flp1*x1*sqrt(1.0_r8-y1*y1)
1848 y2=flp2*x2*sqrt(1.0_r8-y2*y2)
1855 CALL
drv(zix1,ziy1,zix2,ziy2)
1856 isym(ic)=isym(ic)+nlab
1857 IF(isym(ic).GE.1)
THEN
1861 IF(abs(zix2-zix1).GE.abs(ziy2-ziy1))
THEN
1865 ix11=min(max(ixl+5,int(zix1)+idx),ixr-5)
1866 iy11=min(max(iyb+5,int(ziy1)+idy),iyt-5)
1867 CALL
dlch(ix11,-iy11,
' ',icc,1)
1875 SUBROUTINE qcplot(NX,NY,INCX,INCY,Z,NDIM,ZC,NC,
1876 a title,ntitle,xname,nxname,yname,nyname,
1909 integer nx,ny,incx,incy,ndim,nc,ntitle,nxname,nyname,
1911 CHARACTER*(*) title,xname,yname
1912 real (r8) z(ndim,*),zc(*)
1914 real (r8) zmin,zmax,delz,
alog19,step,zct
1915 integer nnx,nny,ilgz,inx,iny,ncut,noc,idum,jdum,ic,lgmx, lgmn,
1916 & ldec,id,ii,n1,j,i1,i
1928 WRITE(iounit,11) inx
1935 CALL minm(z,ndim,nnx,nny,inx,iny,zmin,idum,jdum)
1936 CALL
maxm(z,ndim,nnx,nny,inx,iny,zmax,idum,jdum)
1938 delz=(zmax-zmin)/noc
1940 30 zc(ic)=zmin+(
REAL(ic,r8)-.5)*delz
1943 IF(zmax.LT.1._r8) lgmx=lgmx-1
1945 IF(zmin.LT.1._r8) lgmn=lgmn-1
1946 lgmn=max(lgmn,lgmx-25)
1949 IF(ilgz.EQ.1) ldec=min(ldec,2)
1950 IF(ilgz.EQ.2) ldec=min(ldec,5)
1954 IF(ldec.GT.2.AND.ilgz.LT.2) ilgz=2
1955 IF(ldec.GT.5.AND.ilgz.LT.3) ilgz=4
1956 IF(ldec.GT.8) ilgz=10
1962 zct=
REAL(ii,r8)*step
1963 IF((ic.EQ.noc).OR.(zct.GT.zmax)) goto 60
1971 WRITE(iounit,61) title
1972 WRITE(iounit,62) xname(1:len(xname)),yname(1:len(yname))
1974 WRITE(iounit,63) char(n1),zc(1),char(n1+noc-1),zc(noc)
1975 IF(ilgz.NE.0)
WRITE(iounit,64) noc,zmin,zmax,ldec,lgz,ilgz
1983 IF(z(i,j).LE.zc(ic)) goto 80
1988 WRITE(iounit,91) j,(char(irow(i)),i=1,i1)
1993 110 irow(i1)=mod(i,10)
1994 WRITE(iounit,111) (irow(i),i=1,i1)
1999 11
FORMAT(1x,
'** NNX GREATER THAN 75, INX CHANGED TO',i5)
2000 61
FORMAT(/1x,
'QCPLOT: ',a)
2001 62
FORMAT(9x,a,
' HORIZONTALLY, ',a,
' VERTICALLY')
2002 63
FORMAT(9x,a1,
' =',1pe9.2,4x,a1,
' =',1pe9.2)
2003 64
FORMAT(9x,
'NOC,ZMIN,ZMAX,LDEC,LGZ,ILGZ',i5,2e14.6,3i5)
2004 65
FORMAT(9x,.LE.
'THE SYMBOL A MEANS: IN THAT LOCATION VALUE A'/)
2005 91
FORMAT(i3,1x,75a1)
2009 SUBROUTINE vplot(MX,MY,IVEC,X,Y,NX,NY,INCX,INCY,VX,VY,NDIM,SIZE,L,
2010 a title,ntitle,xname,nxname,yname,nyname)
2086 integer mx,my,ivec,nx,ny,incx,incy,ndim,l,
2087 a ntitle,nxname,nyname
2088 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
2089 real (r8) xl,xr,yb,yt
2090 integer ixl,ixr,iyb,iyt
2091 real (r8) x(*),y(*),vx(ndim,*),vy(ndim,*)
2092 CHARACTER*(*) title,xname,yname
2093 CHARACTER title1*80,string*14
2094 real (r8) size,rmx,hx,hy,xmn,ymn,xmx,ymx,xfac,yfac,fx0,fy0,
2095 & vxmx,vymx,amp,dxmn,dx,dymn,dy,step,vfac,thr,pi,tpi,
2096 & y1sav,y1,x1sav,x1,x2,y2,c,flp,s,x2s,
2097 & zix1,ziy1,zix2,ziy2,rmax
2098 integer icord,nnx,nny,inx,iny,jvec,idot,isup,nb,ntitl1,idum,jdum,
2116 xmx=x(1)+(nnx-1)*x(2)/inx
2120 ymx=y(1)+(nny-1)*y(2)/iny
2123 20 jvec=mod(iabs(ivec),10)
2124 idot=mod(iabs(ivec)/10,10)
2125 isup=mod(iabs(ivec)/100,10)
2130 ntitl1=isign(min(iabs(ntitle)+nb,80),ntitle)
2131 CALL
nframe(mx,my,1,xmn,xmx,ymn,ymx,
2132 a title1,ntitl1,xname,nxname,yname,nyname)
2139 xfac=(ixr-ixl)/(xr-xl)
2140 yfac=(iyt-iyb)/(yt-yb)
2144 CALL maxam(vx,ndim,nnx,nny,inx,iny,vxmx,idum,jdum)
2145 CALL maxam(vy,ndim,nnx,nny,inx,iny,vymx,idum,jdum)
2149 IF(isup.EQ.1.OR.amp.EQ.0.)
THEN
2150 WRITE(string,
'(''AMP ='',1PE9.2)') amp
2151 CALL
dlch(ixr-110,iyt+18,string,14,1)
2152 WRITE(string,
'(''EPS ='',1PE9.2)') eps
2153 CALL
dlch(ixr-110,iyt+4,string,14,1)
2154 IF(amp.EQ.0._r8) amp=1._r8
2158 DO 30 i=1+inx,nnx,inx
2159 dx=abs(x(i)-x(i-inx))
2160 30
IF(dx.LT.dxmn) dxmn=dx
2164 DO 40 j=1+iny,nny,iny
2165 dy=abs(y(j)-y(j-iny))
2166 40
IF(dy.LT.dymn) dymn=dy
2172 pi=3.1415926535898_r8
2177 IF(incy.GT.0) y1=y(j)
2182 IF(incx.GT.0) x1=x(i)
2187 IF(isup.EQ.1.AND.abs(x2).LT.thr.AND.abs(y2).LT.thr) goto 50
2190 c=min(max(-1.0_r8,c),1.0_r8)
2192 IF(y1.GT.pi.AND.y1.LT.tpi) flp=-1._r8
2193 s=flp*sqrt(1.0_r8-c*c)
2206 IF(idot.EQ.1) CALL
dlch(int(zix1),-int(ziy1),
' ',46,1)
2207 IF(jvec.EQ.1) CALL
arrow1(zix1,ziy1,zix2,ziy2,l)
2208 IF(jvec.EQ.2) CALL arrow2(zix1,ziy1,zix2,ziy2,l)
2214 entry vplotx(mx,my,ivec,x,y,nx,ny,incx,incy,vx,vy,ndim,
SIZE,l,
2215 a title,ntitle,xname,nxname,yname,nyname,
2218 IF(rmax.EQ.0._r8) goto 10
2229 IF(incx.LT.0) hx=x(2)
2230 IF(incy.LT.0) hy=y(2)
2236 IF(iqud.GT.2.AND.rmax.LT.0._r8) iqud=2
2241 ELSEIF(iqud.EQ.3.OR.iqud.EQ.4)
THEN
2249 SUBROUTINE fplot(MX,MY,IVEC,X,Y,NPTS,INC,VX,VY,VFAC,L,
2250 a title,ntitle,xname,nxname,yname,nyname)
2295 integer mx,my,ivec,npts,inc,l,ntitle,nxname,nyname
2296 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
2297 real (r8) xl,xr,yb,yt
2298 integer ixl,ixr,iyb,iyt
2299 real (r8) x(*),y(*),vx(*),vy(*)
2300 CHARACTER*(*) title,xname,yname
2301 real (r8) vfac,xmn,xmx,ymx,ymn,xfac,yfac,hx,x1,y1,
2302 & zix1,ziy1,x2,y2,zix2,ziy2,zixx,ziyy,ziyys
2303 integer jvec,idot,ntot,inca,idum,i
2307 jvec=mod(iabs(ivec),10)
2308 idot=mod(iabs(ivec)/10,10)
2316 xmx=x(1)+(ntot-1)*x(2)/inca
2318 CALL
maxv(x,ntot,inca,xmx,idum)
2319 CALL minv(x,ntot,inca,xmn,idum)
2321 CALL
maxv(y,ntot,inca,ymx,idum)
2322 CALL minv(y,ntot,inca,ymn,idum)
2323 CALL
nframe(mx,my,1,xmn,xmx,ymn,ymx,
2324 a title,ntitle,xname,nxname,yname,nyname)
2325 IF(ivec.LT.0)
RETURN
2331 xfac=(ixr-ixl)/(xr-xl)
2332 yfac=(iyt-iyb)/(yt-yb)
2334 IF(inc.LT.0) hx=x(2)
2338 IF(inc.GT.0) x1=x(i)
2340 zix1=min(max(
REAL(IXL,R8),
REAL(ixl,r8)+(x1-xl)*xfac),
2342 ziy1=min(max(
REAL(IYB,R8),
REAL(iyb,r8)+(y1-yb)*yfac),
2344 IF(idot.EQ.1) CALL
dlch(int(zix1),-int(ziy1),
' ',46,1)
2347 zix2=
REAL(ixl,r8)+(x2-xl)*xfac
2348 ziy2=
REAL(iyb,r8)+(y2-yb)*yfac
2349 IF(zix2.LT.
REAL(ixl,r8).OR.zix2.GT.
REAL(ixr,r8)
2350 > .OR.ziy2.LT.
REAL(iyb,r8).OR.ziy2.GT.
REAL(iyt,r8)) then
2353 zixx=min(max(
REAL(IXL,R8),zix2),
REAL(ixr,r8))
2354 ziyy=min(max(
REAL(IYB,R8),ziy2),
REAL(iyt,r8))
2356 IF(zixx.NE.zix2) ziyy=ziy1+
2357 > (ziy2-ziy1)*(zixx-zix1)/(zix2-zix1)
2358 IF(ziyys.NE.ziy2.AND.(ziyy.LE.
REAL(iyb,r8)
2359 > .OR.ziyy.GE.
REAL(iyt,r8))) then
2360 zixx=zix1+(zix2-zix1)*(ziyys-ziy1)/(ziy2-ziy1)
2363 CALL
drv(zix1,ziy1,zixx,ziyy)
2365 IF(jvec.EQ.1) CALL
arrow1(zix1,ziy1,zix2,ziy2,l)
2366 IF(jvec.EQ.2) CALL arrow2(zix1,ziy1,zix2,ziy2,l)
2392 real (r8) zix1,ziy1,zix2,ziy2
2394 real (r8) h,w,zihx,zihy,ziwx,ziwy,zix3,ziy3,zix4,ziy4,r
2396 h=
REAL(l,r8)/100._r8
2397 10 CALL
drv(zix1,ziy1,zix2,ziy2)
2414 entry arrow2(zix1,ziy1,zix2,ziy2,l)
2415 r=sqrt(
REAL((zix2-zix1)**2+(ziy2-ziy1)**2,r8))
2416 IF(r.LT.
REAL(l,r8)) then
2417 CALL
dlch(int(zix1),-int(ziy1),
' ',46,1)
2425 SUBROUTINE splot(MX,MY,IS,IOP,YX,ZXY,NX,NY,INCYX,Z,NDIM,IJARR,NS,
2426 a title,ntitle,xname,nxname,yname,nyname)
2481 integer mx,my,is,iop,nx,ny,incyx,ndim,ns,
2482 a ntitle,nxname,nyname
2483 real (r8) yx(*),zxy(*),z(ndim,*)
2485 CHARACTER*(*) title,xname,yname
2486 real (r8) zxymin,zxymax,yxmin,yxmax,dxy
2487 integer nnx,nny,nnxy,nnyx,idum,jdum,nos,isec,ji,iop1
2502 CALL minm(z,ndim,nnx,nny,1,1,zxymin,idum,jdum)
2503 CALL
maxm(z,ndim,nnx,nny,1,1,zxymax,idum,jdum)
2506 yxmax=yx(1)+yx(2)*(nnyx-1)/iabs(incyx)
2507 IF(incyx.GT.0) yxmax=yx(nnyx)
2508 CALL
nframe(mx,my,iabs(iop),yxmin,yxmax,zxymin,zxymax,
2509 a title,ntitle,xname,nxname,yname,nyname)
2521 dxy=
REAL(nnxy,r8)/
REAL(nos,r8)
2523 10 ijarr(isec)=(isec-0.5_r8)*dxy+0.5_r8
2529 IF(is.EQ.1) zxy(ji)=z(ijarr(isec),ji)
2530 IF(is.EQ.2) zxy(ji)=z(ji,ijarr(isec))
2533 IF(iop/10.NE.0) iop1=iop+(isec-1)*10
2534 CALL
lplot(mx,my,iop1,yx,zxy,-nnyx,incyx,
2535 a title,ntitle,xname,nxname,yname,nyname)
2541 SUBROUTINE aplot(MX,MY,IA,YX,AVXY,NX,NY,INCYX,Z,NDIM,IJ1,IJ2,
2542 a title,ntitle,xname,nxname,yname,nyname)
2596 integer mx,my,ia,nx,ny,incyx,ndim,ij1,ij2,
2597 a ntitle,nxname,nyname
2598 real (r8) yx(*),avxy(*),z(ndim,*)
2599 CHARACTER*(*) title,xname,yname
2600 integer nnx,nny,nnxy,nnyx,ij11,ij22,ji,ij
2614 IF(ij1.GT.0) ij11=ij1
2616 IF(ij2.GT.0) ij22=ij2
2622 IF(ia.EQ.1) avxy(ji)=avxy(ji)+z(ij,ji)
2623 IF(ia.EQ.2) avxy(ji)=avxy(ji)+z(ji,ij)
2625 20 avxy(ji)=avxy(ji)/
REAL(ij22-ij11+1,r8)
2628 CALL
lplot(mx,my,isign(1,nx),yx,avxy,isign(nnyx,ny),incyx,
2629 a title,ntitle,xname,nxname,yname,nyname)
2633 SUBROUTINE tplot(MX,MY,IVERT,NX,NY,INCX,INCY,Z,NDIM,
2634 a title,ntitle,xname,nxname,yname,nyname)
2670 real (r8) dm, dn, em, fm, gm, hm
2671 parameter(dm=.57,dn=.91,em=.82,fm=2._r8,gm=.1,hm=.33)
2673 integer mx,my,ivert,nx,ny,incx,incy,ndim,
2674 a ntitle,nxname,nyname
2675 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
2676 real (r8) xl,xr,yb,yt
2677 integer ixl,ixr,iyb,iyt
2679 CHARACTER*(*) title,xname,yname
2681 real (r8) zmax,zmax2,dmax,emax,a,c,gme,e0,d0,d,e,
alog19
2682 integer j,i,i0,j0,i1,i2,j1,nc,id,ie0,ie
2684 CALL
nframe(mx,my,5,0._r8,1._r8,0._r8,1._r8,
2685 & title,ntitle,
' ',1,
' ',1)
2692 zmax2=max(zmax2,z(i,j))
2693 IF(zmax2.GT.zmax)
THEN
2699 CALL
dlch(ixl,iyt-20,
'ZMAX =',6,2)
2700 WRITE(string,
'(1PE9.2)') zmax
2701 CALL
dlch(ixl,iyt-40,string,9,2)
2702 WRITE(string,
'(1PE9.2)') zmax2
2703 CALL
dlch(ixl,iyt-60,string,9,2)
2708 a=dmax*(dn-dm)/(emax*em)
2711 CALL
convrt(0._r8,i0,0._r8,dmax,ixl,ixr)
2712 CALL
convrt(0._r8,j0,0._r8,emax,iyb,iyt)
2713 CALL
convrt(nx-1._r8,i1,0._r8,dmax,ixl,ixr)
2714 CALL
convrt(nx-1._r8+a*(ny-1._r8),i2,0._r8,dmax,ixl,ixr)
2715 CALL
convrt(ny-1._r8,j1,0._r8,emax,iyb,iyt)
2716 CALL
drv(
REAL(I0,R8),
REAL(J0,R8),
REAL(I1,R8),
REAL(j0,r8))
2717 CALL
drv(
REAL(I1,R8),
REAL(J0,R8),
REAL(I2,R8),
REAL(j1,r8))
2720 CALL
dlch(i0-6,j0-22,
'1',1,2)
2723 WRITE(string,
'(I1)') nx
2724 ELSEIF(nx.LT.100)
THEN
2726 WRITE(string,
'(I2)') nx
2727 ELSEIF(nx.LT.1000)
THEN
2729 WRITE(string,
'(I3)') nx
2731 CALL
dlch(i1-nc*6,j0-22,string,nc,2)
2732 CALL
dlch((i0+i1)/2-nxname*6,j0-43,xname,nxname,2)
2735 CALL
drv(
REAL(I1,R8),
REAL(J0,R8),
REAL(I1+15,R8),
REAL(j0,r8))
2736 CALL
drv(
REAL(I2,R8),
REAL(J1,R8),
REAL(I2+15,R8),
REAL(j1,r8))
2737 CALL
dlch(i1+20,j0-8,
'1',1,2)
2740 WRITE(string,
'(I1)') ny
2741 ELSEIF(ny.LT.100)
THEN
2743 WRITE(string,
'(I2)') ny
2744 ELSEIF(ny.LT.1000)
THEN
2746 WRITE(string,
'(I3)') ny
2748 CALL
dlch(i2+20,j1-8,string,nc,2)
2749 CALL
dlch((i1+i2)/2+50,(j0+j1)/2-8,yname,nyname,2)
2754 IF(zmax.GT.0._r8) c=fm/zmax
2755 ELSEIF(ivert.EQ.2)
THEN
2756 IF(zmax2.GT.0._r8) c=1._r8-hm*log10(zmax2)
2766 IF(z(i,j).GT.0._r8) e=e+max(0.0_r8,c*z(i,j))
2767 ELSEIF(ivert.EQ.2)
THEN
2769 & e=e+max(0.0_r8,gme*(c+hm*
alog19(z(i,j))))
2771 CALL
convrt(d,id,0.0_r8,dmax,ixl,ixr)
2772 CALL
convrt(e0,ie0,0.0_r8,emax,iyb,iyt)
2773 CALL
convrt(e,ie,0.0_r8,emax,iyb,iyt)
2774 IF(iabs(ie-ie0).GT.1)
THEN
2775 CALL
drv(
REAL(ID,R8),
REAL(IE,R8),
2776 &
REAL(ID,R8),
REAL(ie0,r8))
2778 CALL
dlch(id,-ie0,
' ',46,2)
2785 SUBROUTINE p3plot(MX,MY,R,TH,NR,NTH,F,NDIM,THX,THY,TITLE,NTITLE)
2811 integer mx,my,nr,nth,ndim,ntitle
2813 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
2814 real (r8) xl,xr,yb,yt
2815 integer ixl,ixr,iyb,iyt
2816 real (r8) r(*),th(*),f(ndim,*)
2818 integer jxrl(3),jytb(6)
2820 CHARACTER*3 lab(2,2)
2821 real (r8) pi,dgr,rmax,fmax,sx,cx,sxy,cxy,xmx,ymx,theta,q,t,
2822 & xmn,ymn,s,ytest,xfac,yfac,ri,
2823 & zix0,ziy0,zix1,ziy1,zix,ziy,ziy2,rmin
2824 integer irm,idum,jdum,j,i,imx,imy,mxx,myy,
2827 DATA jxrl/900,400,400/,jytb/645,285,285,165,165,165/
2828 DATA lab/
' 0 ',
' 90',
'180',
'270'/
2830 pi=3.1415926535898_r8
2834 CALL
maxv(r,nr,1,rmax,irm)
2835 CALL maxam(f,ndim,nr,nth,1,1,fmax,idum,jdum)
2838 sxy=sin((thy+thx)*dgr)
2839 cxy=cos((thy+thx)*dgr)
2846 xmx=max(xmx,rmax*(t*cx+q*cxy))
2847 ymx=max(ymx,rmax*(t*sx+q*sxy))
2852 s=abs((ymx-ymn)/(2._r8*fmax))
2854 q=sin(th(j))*sxy+cos(th(j))*sx
2856 ytest=r(i)*q+s*f(i,j)
2862 imx=mod(iabs(mx),10)
2863 imy=mod(iabs(my),10)
2864 IF((xmx-xmn)/(ymx-ymn).LT.
REAL(JXRL(IMX),r8)/jytb(imy)) then
2871 CALL
nframe(mxx,myy,5,xmn,xmx,ymn,ymx,title,ntitle,
' ',1,
' ',1)
2873 xfac=
REAL(ixr-ixl,r8)/(xr-xl)
2874 yfac=
REAL(iyt-iyb,r8)/(yt-yb)
2875 zix0=
REAL(ixl,r8)-(xl*xfac)
2876 ziy0=
REAL(iyb,r8)-(yb*yfac)
2879 zix1=zix0+(rmax*cx*xfac)
2880 ziy1=ziy0+(rmax*sx*yfac)
2886 zix=zix0+rmax*(t*cx+q*cxy)*xfac
2887 ziy=ziy0+rmax*(q*sxy+t*sx)*yfac
2888 CALL
dash(zix1,ziy1,zix,ziy,10,10,l,ll)
2895 rlab=1._r8+60._r8*xmx/((ixr-ixl)*rmax)
2898 theta=(90._r8*(k-1)+180._r8*(l-1))*dgr
2901 x(l)=rmax*(t*cx+q*cxy)
2902 y(l)=rmax*(q*sxy+t*sx)
2904 CALL
dash(zix0+(x(1)*xfac),ziy0+(y(1)*yfac),
2905 a zix0+(x(2)*xfac),ziy0+(y(2)*yfac),10,10,0,idum)
2907 zix=zix0+x(l)*rlab*xfac
2908 ziy=ziy0+y(l)*rlab*yfac
2909 CALL
dlch(int(zix-12),-int(ziy),lab(k,l),3,2)
2917 zix =zix0+rmax*(t*cx+q*cxy)*xfac
2918 ziy1=ziy0+rmax*(q*sxy+t*sx)*yfac
2919 ziy2=ziy1+s*f(irm,j)*yfac
2920 IF(abs(ziy2-ziy1).GT.5) CALL
dash(zix,ziy1,zix,ziy2,0,5,0,idum)
2924 CALL minv(r,nr,1,rmin,ir0)
2926 a CALL
dash(zix0,ziy0,zix0,ziy0+s*f(ir0,1)*yfac,10,10,0,idum)
2932 ziy=ziy0+(ri*sx+s*f(i,1))*yfac
2938 zix=zix0+ri*(t*cx+q*cxy)*xfac
2939 ziy=ziy0+(ri*(q*sxy+t*sx)+s*f(i,j))*yfac
2949 zix=zix0+ri*(t*cx+q*cxy)*xfac
2950 ziy=ziy0+(ri*(q*sxy+t*sx)+s*f(1,j))*yfac
2954 zix=zix0+ri*(t*cx+q*cxy)*xfac
2955 ziy=ziy0+(ri*(q*sxy+t*sx)+s*f(i,j))*yfac
2997 entry minv(a,n,inc,b,i)
3008 entry maxav(a,n,inc,b,i)
3021 entry minav(a,n,inc,b,i)
3035 SUBROUTINE maxm(A,IA,M,N,INCK,INCL,B,I,J)
3059 integer ia,m,n,inck,incl,i,j,k,l
3060 real (r8) a(ia,*),b,s
3067 IF(a(k,l).GT.b)
THEN
3075 entry minm(a,ia,m,n,inck,incl,b,i,j)
3081 IF(a(k,l).LT.b)
THEN
3089 entry maxam(a,ia,m,n,inck,incl,b,i,j)
3105 entry minam(a,ia,m,n,inck,incl,b,i,j)
3132 IF(arg.LT.1.e-50_r8)
THEN
3148 COMMON /lhead1/labtop,labbot,d,t
3149 CHARACTER labtop*80,labbot*40,d*10,t*8
3150 COMMON /lhead2/nct,ncb
3152 DATA labtop,labbot,d,t/
' ',
' ',
' ',
' '/
3173 COMMON /lhead1/labtop,labbot,d,t
3174 CHARACTER labtop*80,labbot*40,d*10,t*8
3175 COMMON /lhead2/nct,ncb
3179 nct=isign(min(iabs(nlabel),80),nlabel)
3183 entry lblbot(label,nlabel)
3184 ncb=isign(min(iabs(nlabel),40),nlabel)
3209 > / 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3210 > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /
3214 SUBROUTINE nframe(MX,MY,IOP,XMIN,XMAX,YMIN,YMAX,
3215 a title,ntitle,xname,nxname,yname,nyname)
3316 integer mx,my,iop,ntitle,nxname,nyname
3319 COMMON /lhead1/labtop,labbot,d,t
3320 CHARACTER labtop*80,labbot*40,d*10,t*8
3321 COMMON /lhead2/nct,ncb
3322 CHARACTER*(*) title,xname,yname
3323 integer jxl(6),jxr(6),jyb(6),jyt(6),
3324 a ixl(36),ixr(36),iyb(36),iyt(36),
3326 real (r8) xl(36),xr(36),yb(36),yt(36)
3329 REAL (R8) xmin,xmax,ymin,ymax
3330 SAVE ixl,ixr,iyb,iyt,xl,xr,yb,yt,asw,npos
3332 real (r8) xln,xrn,
alog19,ybn,ytn,xlx,xrx,ybx,ytx,
3333 & xmid,fac,rmult,ymid,divx
3334 integer imx,imy,isx,isy,iax,iay,iix,iiy,jop,iadv,icen,nx,
3335 & idum,jdum,idiff,ny,ixlx,ixrx,iybx,iytx,
3336 & idivy,divy,mult,idivx,mcx,mcy,nxnam1,ixname,
3337 & nynam1,iyname,ntitl1,ititle,icharsize,ia
3340 DATA jxl/ 90, 90,590, 90, 423, 756/
3341 DATA jxr/990,490,990,323, 656, 990/
3342 DATA jyb/ 77,437, 77,557,317, 77/
3343 DATA jyt/722,722,362,722,482,242/
3350 DATA ((npos(n,m),n=1,18),m=1,18)
3351 1 / 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3352 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3353 3 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1,
3354 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3355 5 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0,
3356 6 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
3357 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3358 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3359 9 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
3360 * 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3361 1 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
3362 2 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
3363 3 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
3364 4 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
3365 5 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
3366 6 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0,
3367 7 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,
3368 8 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1/
3372 DATA ((npos(n,m),n=1,18),m=19,36)
3373 9 / 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3374 * 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0,
3375 1 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1,
3376 2 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1,
3377 3 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1,
3378 4 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0,
3379 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3380 6 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
3381 7 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3382 8 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
3383 9 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3384 * 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3385 1 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3386 2 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0,
3387 3 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1,
3388 4 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0,
3389 5 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
3390 6 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1 /
3391 DATA ((npos(n,m),n=19,36),m=1,18)
3394 1 / 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3395 2 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0,
3396 3 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1,
3397 4 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1,
3398 5 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1,
3399 6 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0,
3400 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3401 8 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
3402 9 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3403 * 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
3404 1 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3405 2 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3406 3 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3407 4 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0,
3408 5 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1,
3409 6 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0,
3410 7 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
3411 8 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1/
3412 DATA ((npos(n,m),n=19,36),m=19,36)
3413 9 / 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 * 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 1 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 2 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 3 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 4 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 5 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3420 6 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
3421 7 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
3422 8 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
3423 9 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
3424 * 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
3425 1 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
3426 2 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
3427 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
3428 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0,
3429 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,
3430 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1/
3434 imx=mod(iabs(mx),10)
3435 imy=mod(iabs(my),10)
3436 isx=mod(iabs(mx)/10,10)
3437 isy=mod(iabs(my)/10,10)
3438 iax=mod(iabs(mx)/100,10)
3439 iay=mod(iabs(my)/100,10)
3440 iix=mod(iabs(mx)/1000,10)
3441 iiy=mod(iabs(my)/1000,10)
3443 IF(m.GT.36) stop
'*** NFRAME: IMX OR IMY TOO BIG ***'
3444 jop=mod(iabs(iop),10)
3447 IF(jop.EQ.3.OR.jop.EQ.4) flogx=.true.
3448 IF(jop.EQ.2.OR.jop.EQ.4) flogy=.true.
3453 10 iadv=iadv+kp(n)*npos(n,m)
3454 IF((asw.EQ.0.AND.iadv.NE.0).OR.(asw.EQ.1))
THEN
3460 icen=(jxr(1)+jxl(1))/2
3461 CALL
dlch(icen-6*iabs(nct),766,labtop,nct,-2)
3462 CALL
dlch(icen-9*iabs(ncb),0,labbot,ncb,-3)
3463 CALL
dlch(25,17,d,10,-1)
3464 CALL
dlch(25,2,t,8,-1)
3478 xln=(1.0_r8-sign(0.5_r8,xln))*xln-1.0e-6_r8
3479 xrn=(1.0_r8+sign(0.5_r8,xrn))*xrn+1.0e-6_r8
3485 xln=max(xln,xrn-24._r8)
3490 ybn=(1.0_r8-sign(0.5_r8,ybn))*ybn-1.0e-6_r8
3491 ytn=(1.0_r8+sign(0.5_r8,ytn))*ytn+1.0e-6_r8
3497 ybn=max(ybn,ytn-24._r8)
3505 IF(xr(m).LE.xl(m)) xr(m)=xl(m)+max(1.0_r8,xl(m))
3506 IF(yt(m).LE.yb(m)) yt(m)=yb(m)+max(1.0_r8,yb(m))
3510 IF(isx.NE.0.AND.iix.NE.0) nx=iix
3512 IF(isx.EQ.0.AND.(.NOT.flogx))
THEN
3513 CALL
ascl(3,xl(m),xr(m),nx,idum,jdum)
3516 IF(mod(idiff,5).EQ.0) nx=5
3517 IF(mod(idiff,4).EQ.0) nx=4
3518 IF(mod(idiff,3).EQ.0) nx=3
3522 IF(isx.EQ.0.AND.(flogx))
THEN
3523 xl(m)=min(aint(xl(m)),sign(aint(abs(xl(m))+.999),xl(m)))
3524 xr(m)=max(aint(xr(m)),sign(aint(abs(xr(m))+.999),xr(m)))
3529 IF(isy.NE.0.AND.iiy.NE.0) ny=iiy
3531 IF(isy.EQ.0.AND.(.NOT.flogy))
THEN
3532 CALL
ascl(3,yb(m),yt(m),ny,idum,jdum)
3535 IF(mod(idiff,5).EQ.0) ny=5
3536 IF(mod(idiff,4).EQ.0) ny=4
3537 IF(mod(idiff,3).EQ.0) ny=3
3541 IF(isy.EQ.0.AND.(flogy))
THEN
3542 yb(m)=min(aint(yb(m)),sign(aint(abs(yb(m))+.999),yb(m)))
3543 yt(m)=max(aint(yt(m)),sign(aint(abs(yt(m))+.999),yt(m)))
3557 IF(isx.EQ.2.AND.(.NOT.flogx))
THEN
3558 IF(isy.EQ.2) stop
'*** NFRAME: ISX=ISY=2 FORBIDDEN ***'
3560 xmid=.5*(xl(m)+xr(m))
3561 fac=(yt(m)-yb(m))*(ixr(m)-ixl(m))/(iyt(m)-iyb(m))
3564 idivy=(iyt(m)-iyb(m))/ny
3565 divy=(yt(m)-yb(m))/ny
3566 rmult=(xl(m)-yb(m))/divy
3568 IF(mult.LT.rmult) mult=mult+1
3570 ixlx=ixl(m)+(xlx-xl(m))*(ixr(m)-ixl(m))/(xr(m)-xl(m))
3573 30
IF((xrx+divy).LE.xr(m))
THEN
3582 IF(isy.EQ.2.AND.(.NOT.flogy))
THEN
3584 ymid=.5*(yb(m)+yt(m))
3585 fac=(xr(m)-xl(m))*(iyt(m)-iyb(m))/(ixr(m)-ixl(m))
3588 idivx=(ixr(m)-ixl(m))/nx
3589 divx=(xr(m)-xl(m))/nx
3590 rmult=(yb(m)-xl(m))/divx
3592 IF(mult.LT.rmult) mult=mult+1
3594 iybx=iyb(m)+(ybx-yb(m))*(iyt(m)-iyb(m))/(yt(m)-yb(m))
3597 40
IF((ytx+divx).LE.yt(m))
THEN
3606 CALL
dga(ixl(m),ixr(m),iyb(m),iyt(m),xl(m),xr(m),yb(m),yt(m))
3607 CALL dgax(ixlx,ixrx,iybx,iytx,xlx,xrx,ybx,ytx)
3615 CALL
dlnln(nx,ny,1,iax,iay)
3618 ELSEIF(jop.EQ.2)
THEN
3622 ELSEIF(jop.EQ.3)
THEN
3626 ELSEIF(jop.EQ.4)
THEN
3630 ELSEIF(jop.EQ.5)
THEN
3632 CALL
dlnln(0,0,0,iax,iay)
3640 IF(imy.EQ.2.OR.imy.EQ.3) mcy=23
3644 nxnam1=isign(min(iabs(nxname),mcx-6),nxname)
3645 ixname=(ixl(m)+ixr(m))/2-6*iabs(nxnam1)
3646 IF((len(xname).EQ.1).AND.(nxname.NE.1))
THEN
3648 ixname=(ixl(m)+ixr(m))/2-6
3650 nynam1=isign(min(iabs(nyname),mcy),nyname)
3651 iyname=(iyb(m)+iyt(m))/2-6*iabs(nynam1)
3652 IF((len(yname).EQ.1).AND.(nyname.NE.1))
THEN
3654 iyname=(iyb(m)+iyt(m))/2-6
3656 ntitl1=isign(min(iabs(ntitle),mcx),ntitle)
3660 IF ((imx.GE.4).AND.(imy.GE.4)) icharsize= 1
3661 CALL
dlch(ixname,iyb(m)-43,xname,nxnam1,-2)
3662 CALL dlcv(ixl(m)-64,iyname,yname,nynam1,-2)
3663 CALL
dlch(ititle,iyt(m)+8,title,ntitl1,-icharsize)
3668 imx=mod(iabs(mx),10)
3669 imy=mod(iabs(my),10)
3671 IF(m.GT.36) stop
'*** OFRAME: IMX OR IMY TOO BIG ***'
3672 CALL
dga(ixl(m),ixr(m),iyb(m),iyt(m),xl(m),xr(m),yb(m),yt(m))
3681 SUBROUTINE ascl(M,ZMIN,ZMAX,MAJOR,MINOR,KF)
3717 integer m,major,minor,kf
3719 real (r8) z1,z2,am,zbar,z,
p,tenk,dz,fn
3720 integer iflag,k,nm,n1,n2,j
3727 IF((z2.LE.z1).OR.(m.LE.0.OR.m.GT.20))
THEN
3734 IF(z2.NE.0.AND.z1.NE.0)
THEN
3736 IF(abs(zbar).GE.1000._r8)
THEN
3738 ELSEIF(abs(zbar).LE..001)
THEN
3740 ELSEIF(abs(zbar-1._r8).LE..000005*am)
THEN
3742 z=.0000026*am*abs(zbar)
3748 IF(z2-z1.NE.am)
THEN
3749 z2=z2-.000001*abs(z2)
3750 z1=z1+.000001*abs(z1)
3760 20
IF(
p.GE.10000._r8)
THEN
3766 30
IF(
p.GE.10._r8)
THEN
3783 ELSEIF(
p.GE.5._r8)
THEN
3804 IF(k.LE.0.AND.k.GE.-5)
THEN
3808 IF(abs(z2).LE.abs(z1))
THEN
3815 40
IF(z.GE.10._r8)
THEN
3820 IF(k.GE.0.AND.j+k.LE.5)
THEN
3835 SUBROUTINE dga(IX1,IX2,IY1,IY2,X1,X2,Y1,Y2)
3856 integer ix1,ix2,iy1,iy2
3857 real (r8) x1,x2,y1,y2
3858 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
3859 real (r8) xl,xr,yb,yt
3860 integer ixl,ixr,iyb,iyt
3861 COMMON /cje07x/xlx,xrx,ybx,ytx,ixlx,ixrx,iybx,iytx
3862 real (r8) xlx,xrx,ybx,ytx
3863 integer ixlx,ixrx,iybx,iytx
3865 ixl=min(max(0,min(ix1,ix2)),1023)
3866 ixr=min(max(0,max(ix1,ix2)),1023)
3867 iyb=min(max(0,min(iy1,iy2)),1023)
3868 iyt=min(max(0,max(iy1,iy2)),1023)
3875 entry dgax(ix1,ix2,iy1,iy2,x1,x2,y1,y2)
3915 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
3916 real (r8) xl,xr,yb,yt
3917 integer ixl,ixr,iyb,iyt
3920 equivalence(ixy,ixl),(xy,xl)
3922 CHARACTER*14 mess1,mess2(2)
3923 real (r8) z1,z2,zmin,zmax,z11
3924 integer k,jx,jy,iex,itype,i1,i2,nz,irev,isl,izc,i,icz,ny,nx
3927 DATA (alg(k),k=1,8) /.30102999566398,.47712125471966,
3928 a .60205999132796,.69897000433602,.77815125038364,
3929 b .84509804001426,.90308998699194,.95424250943933/
3930 DATA mess1/
'DECADES EXCEED'/
3931 DATA mess2/
' 25 NO OF X ',
' 25 NO OF Y '/
3937 CALL
box(ixl,ixr,iyb,iyt)
3940 10
IF(iex.EQ.1.AND.jy.EQ.0) goto 40
3945 IF(z1.EQ.z2) z2=z2+.01
3948 zmin=min(aint(zmin),sign(aint(abs(zmin)+.999),zmin))
3949 zmax=max(aint(zmax),sign(aint(abs(zmax)+.999),zmax))
3954 CALL
dlch(500,520,mess1,14,2)
3955 CALL
dlch(500,500,mess2(itype),14,2)
3960 IF(z2.LT.z1) z11=z1-1._r8
3964 IF(xy(i2).GE.xy(i1))
THEN
3973 isl=(ixy(i2)-ixy(i1))/nz
3977 icz=izc+(irev-1+(3-irev-irev)*alg(k))*isl
3979 CALL
drv(
REAL(ICZ,R8),
REAL(IYT-15,R8),
3980 &
REAL(ICZ,R8),
REAL(iyt,r8))
3981 CALL
drv(
REAL(ICZ,R8),
REAL(IYB,R8),
3982 &
REAL(ICZ,R8),
REAL(iyb+15,r8))
3984 CALL
drv(
REAL(IXL,R8),
REAL(ICZ,R8),
3985 &
REAL(IXL+15,R8),
REAL(icz,r8))
3986 CALL
drv(
REAL(IXR-15,R8),
REAL(ICZ,R8),
3987 &
REAL(IXR,R8),
REAL(icz,r8))
3990 izc=ixy(i1)+(i*(ixy(i2)-ixy(i1)))/nz
3992 CALL
drv(
REAL(IZC,R8),
REAL(IYT,R8),
3993 &
REAL(IZC,R8),
REAL(iyt-25,r8))
3994 CALL
drv(
REAL(IZC,R8),
REAL(IYB+25,R8),
3995 &
REAL(IZC,R8),
REAL(iyb,r8))
3997 CALL
drv(
REAL(IXL,R8),
REAL(IZC,R8),
3998 &
REAL(IXL+25,R8),
REAL(izc,r8))
3999 CALL
drv(
REAL(IXR-25,R8),
REAL(IZC,R8),
4000 &
REAL(IXR,R8),
REAL(izc,r8))
4007 CALL
dlnln(0,ny,1,0,0)
4008 40
IF(jx.EQ.0)
RETURN
4016 CALL
dlnln(nx,0,1,0,0)
4040 integer nx,ny,ibox,iax,iay
4041 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
4042 real (r8) xl,xr,yb,yt
4043 integer ixl,ixr,iyb,iyt
4044 COMMON /cje07x/xlx,xrx,ybx,ytx,ixlx,ixrx,iybx,iytx
4045 real (r8) xlx,xrx,ybx,ytx,dx,dy
4046 integer ixlx,ixrx,iybx,iytx,ix0,idum,nxs,iiyb,iiyt,
4047 & i,ixs,iy0,nys,iixr,iixl,iys
4050 IF(ibox.NE.0) CALL
box(ixl,ixr,iyb,iyt)
4052 IF(iax.NE.0.AND.(xl.LT.0..AND.xr.GT.0.))
THEN
4054 ix0=(ixl*xr-ixr*xl)/(xr-xl)
4056 > CALL
drv(
REAL(IX0,R8),
REAL(IYB,R8),
4057 &
REAL(IX0,R8),
REAL(iyt,r8))
4059 > CALL
dash(
REAL(IX0,R8),
REAL(IYB,R8),
4060 &
REAL(IX0,R8),
REAL(IYT,R8),
4064 nxs=min(iabs(nx),128)
4065 dx=
REAL(ixrx-ixlx,r8)/nxs
4070 CALL
drv(
REAL(IXS,R8),
REAL(IYB,R8),
4071 &
REAL(IXS,R8),
REAL(iiyb,r8))
4072 CALL
drv(
REAL(IXS,R8),
REAL(IYT,R8),
4073 &
REAL(IXS,R8),
REAL(iiyt,r8))
4077 IF(iay.NE.0.AND.(yb.LT.0..AND.yt.GT.0.))
THEN
4079 iy0=(iyb*yt-iyt*yb)/(yt-yb)
4081 > CALL
drv(
REAL(IXL,R8),
REAL(IY0,R8),
4082 &
REAL(IXR,R8),
REAL(iy0,r8))
4083 IF(iay.EQ.2) CALL
dash(
REAL(IXL,R8),
REAL(IY0,R8),
REAL(IXR,R8),
4084 >
REAL(IY0,R8),10,10,0,idum)
4087 nys=min(iabs(ny),128)
4088 dy=
REAL(iytx-iybx,r8)/nys
4093 CALL
drv(
REAL(IXL,R8),
REAL(IYS,R8),
4094 &
REAL(IIXL,R8),
REAL(iys,r8))
4095 CALL
drv(
REAL(IXR,R8),
REAL(IYS,R8),
4096 &
REAL(IIXR,R8),
REAL(iys,r8))
4119 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
4120 real (r8) xl,xr,yb,yt
4121 integer ixl,ixr,iyb,iyt
4122 COMMON /cje07x/xlx,xrx,ybx,ytx,ixlx,ixrx,iybx,iytx
4124 real (r8) xlx,xrx,ybx,ytx,t,x,
alog19,xll,xrr,dx,ddx,xc
4125 integer ixlx,ixrx,iybx,iytx,ks,fact,iyb1,nxa,i,ixc,j,ixr1,iyb2
4131 t=max(abs(xlx),abs(xrx))
4132 IF(abs(t).LE.1.e-15_r8) t=1.e-15_r8
4135 ks=x+sign(0.001_r8,x)
4143 WRITE(
out,
'(F5.2)') xll
4144 CALL
dlch(ixlx-18,iyb1,
out,5,-2)
4147 nxa=min(10,iabs(nx))
4149 ddx=
REAL(ixrx-ixlx,r8)/nxa
4155 WRITE(
out,
'(F5.2)') xc
4161 IF(2.LE.ks.AND.ks.LE.9) j=1
4162 IF((-9.LE.ks.AND.ks.LE.-1).OR.(ks.GT.9)) j=2
4166 CALL
dlch(ixr1,iyb2+1,
'X',1,1)
4167 CALL
dlch(ixr1,iyb2,
' 10',3,2)
4169 WRITE(
out,
'(I3)') ks
4170 CALL
dlch(ixr1+36,iyb2+8,
out(4-j:3),j,1)
4192 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
4193 real (r8) xl,xr,yb,yt
4194 integer ixl,ixr,iyb,iyt
4195 COMMON /cje07x/xlx,xrx,ybx,ytx,ixlx,ixrx,iybx,iytx
4197 real (r8) xlx,xrx,ybx,ytx,t,x,
alog19,fact,ytt,ybb,dy,ddy,yc
4198 integer ixlx,ixrx,iybx,iytx,ks,ixl1,nya,i,iyc,j,iyt1
4203 t=max(abs(ybx),abs(ytx))
4204 IF(abs(t).LE.1.e-15_r8) t=1.e-15_r8
4207 ks=x+sign(0.001_r8,x)
4215 IF(ixl1.LT.15) ixl1=15
4216 WRITE(
out,
'(F5.2)') ybb
4217 CALL
dlch(ixl1,iybx-2,
out,5,2)
4220 nya=min(10,iabs(ny))
4222 ddy=
REAL(iytx-iybx,r8)/nya
4228 WRITE(
out,
'(F5.2)') yc
4234 IF(2.LE.ks.AND.ks.LE.9) j=1
4235 IF((-9.LE.ks.AND.ks.LE.-1).OR.(ks.GT.9)) j=2
4238 CALL
dlch(ixl1,iyt1+1,
'X',1,1)
4239 CALL
dlch(ixl1,iyt1,
' 10',3,2)
4241 WRITE(
out,
'(I3)') ks
4242 CALL
dlch(ixl1+36,iyt1+8,
out(4-j:3),j,1)
4259 COMMON /cje07/xl,xr,yb,yt,ixl,ixr,iyb,iyt
4260 real (r8) xl,xr,yb,yt
4261 integer ixl,ixr,iyb,iyt
4264 equivalence(ixy,ixl),(xy,xl)
4266 integer iy,iydel,iydl,ix,ixdel,ixdl,i1,i2,jy,ixyv,
4267 & nx,ixc,iyc,ixx,iyx,j,idxyv,i
4294 nx=min(abs(xy(i1)-xy(i2)),25.0_r8)
4295 WRITE(
out,
'(I3)') ixyv
4300 CALL
dlch(ixc,iyc,
'10',2,2)
4304 CALL
dlch(ixx,iyx,
out(4-j:3),j,1)
4306 idxyv=isign(1,int(xy(i2)-xy(i1)))
4309 WRITE(
out,
'(I3)') ixyv
4311 iyc=iy+iydel+(i*(ixy(i2)-ixy(i1)))/nx
4314 ixc=ix+ixdel+(i*(ixy(i2)-ixy(i1)))/nx
4317 CALL
dlch(ixc,iyc,
'10',2,2)
4320 CALL
dlch(ixx,iyx,
out(4-j:3),j,1)
4355 IF(f.NE.0) f=(iz2-iz1)/f
4356 iz=min(max(min(iz1,iz2),iz1+int((z-z1)*f)),max(iz1,iz2))
4360 SUBROUTINE box(IX1,IX2,IY1,IY2)
4371 integer ix1,ix2,iy1,iy2
4372 CALL
drv(
REAL(IX1,R8),
REAL(IY1,R8),
REAL(IX1,R8),
REAL(iy2,r8))
4373 CALL
drwabs(
REAL(IX2,R8),
REAL(iy2,r8))
4374 CALL
drwabs(
REAL(IX2,R8),
REAL(iy1,r8))
4375 CALL
drwabs(
REAL(IX1,R8),
REAL(iy1,r8))
4394 CHARACTER d*10,t*8, dat*20,tim*20
4395 CHARACTER year*4,month*2,day*2,hour*2,minut*2
4397 CALL date_and_time(dat,tim)
4403 WRITE(d,1) day,month,year
4404 WRITE(t,2) hour,minut
4405 1
FORMAT(a2,
'/',a2,
'/',a4)
4418 COMMON /lclps/lcal,lpos
4421 DATA lcal,lpos / 0, 1 /
4435 COMMON /lclps/lcal,lpos
4436 integer lcal,lpos,kp
4438 IF(lcal.EQ.1) CALL
wrtext1(iunit)
4439 IF(lpos.EQ.1) CALL
wrtext2(iunit)
4485 10
READ(iu,
'(A80)',end=40) line
4488 20
IF(line(l:l).NE.
' ') goto 30
4489 30 CALL
dlch1(20,iy,line(1:l),l,2)
4534 10
READ(iu,
'(A80)',end=40) line
4537 20
IF(line(l:l).NE.
' ') goto 30
4538 30 CALL
dlch2(20,iy,line(1:l),l,2)
4557 COMMON /nebdasc/nea(64:255)
4558 COMMON /nascebd/nae(32:126)
4560 DATA (nea(ie),ie=64,159)
4561 6 / 32, 0, 0, 0, 0, 0,
4562 7 0, 0, 0, 0, 0, 46, 60, 40, 43, 124,
4563 8 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4564 9 33, 36, 42, 41, 59, 94, 45, 47, 0, 0,
4565 * 0, 0, 0, 0, 0, 0, 0, 44, 37, 95,
4566 1 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
4567 2 0, 96, 58, 35, 64, 39, 61, 34, 0, 97,
4568 3 98, 99, 100, 101, 102, 103, 104, 105, 0, 0,
4569 4 0, 0, 0, 0, 0, 106, 107, 108, 109, 110,
4570 5 111, 112, 113, 114, 0, 0, 0, 0, 0, 0 /
4571 DATA (nea(ie),ie=160,255)
4572 6 / 0, 126, 115, 116, 117, 118, 119, 120, 121, 122,
4573 7 0, 0, 0, 91, 0, 0, 0, 0, 0, 0,
4574 8 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
4575 9 0, 0, 123, 65, 66, 67, 68, 69, 70, 71,
4576 * 72, 73, 0, 0, 0, 0, 0, 0, 125, 74,
4577 1 75, 76, 77, 78, 79, 80, 81, 82, 0, 0,
4578 2 0, 0, 0, 0, 92, 0, 83, 84, 85, 86,
4579 3 87, 88, 89, 90, 0, 0, 0, 0, 0, 0,
4580 4 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
4581 5 0, 0, 0, 0, 0, 0 /
4583 DATA (nae(ia),ia=32,126)
4584 3 / 64, 90, 127, 123, 91, 108, 80, 125,
4585 4 77, 93, 92, 78, 107, 96, 75, 97, 240, 241,
4586 5 242, 243, 244, 245, 246, 247, 248, 249, 122, 94,
4587 6 76, 126, 110, 111, 124, 193, 194, 195, 196, 197,
4588 7 198, 199, 200, 201, 209, 210, 211, 212, 213, 214,
4589 8 215, 216, 217, 226, 227, 228, 229, 230, 231, 232,
4590 9 233, 173, 224, 189, 95, 109, 121, 129, 130, 131,
4591 * 132, 133, 134, 135, 136, 137, 145, 146, 147, 148,
4592 1 149, 150, 151, 152, 153, 162, 163, 164, 165, 166,
4593 2 167, 168, 169, 192, 79, 208, 161 /
4597 SUBROUTINE dlch(IX,IY,STRING,NC,ISIZE)
4605 integer ix,iy,nc,isize
4606 COMMON /lclps/lcal,lpos
4608 CHARACTER*(*) string
4610 IF(lcal.EQ.1) CALL
dlch1(ix,iy,string,nc,isize)
4611 IF(lpos.EQ.1) CALL
dlch2(ix,iy,string,nc,isize)
4614 entry dlcv(ix,iy,string,nc,isize)
4615 IF(lcal.EQ.1) CALL dlcv1(ix,iy,string,nc,isize)
4616 IF(lpos.EQ.1) CALL dlcv2(ix,iy,string,nc,isize)
4679 integer ix,iy,nc,isize
4680 COMMON /nebdasc/nea(64:255)
4682 CHARACTER*(*) string
4683 INTEGER table(3,2,32:126)
4684 LOGICAL fvert,ffont,fsing
4686 integer nea,l,n,i,isx,isy,nfont,ic,nchr,jsize,mx,my,myd,
4687 & isxold,m,icw,isya,j,istart,idx,ix1,idy,iy1
4694 DATA (((table(l,n,i),l=1,3),n=1,1),i=32,39)
4695 2 / 0,00000000,00000000,
4696 3 222,31312220,72427372,
4697 4 7,57454750,72715272,
4698 5 353,10555101,47401272,
4699 6 7,31302124,35516265,
4700 7 15,24130736,27101175,
4701 8 35,13122131,64735115,
4702 9 0,00000000,53737453 /
4705 DATA (((table(l,n,i),l=1,3),n=1,1),i=40,47)
4706 * / 0,00000000,74523214,
4707 1 0,00000000,72543412,
4708 2 0,00414506,22402264,
4709 3 0,00000004,14506323,
4710 4 0,00000000,13333413,
4711 5 0,00000000,00004145,
4712 6 0,00000023,13142423,
4713 7 0,00000000,00001175 /
4716 DATA (((table(l,n,i),l=1,3),n=1,1),i=48,55)
4717 8 / 0,00417274,45141241,
4718 9 0,00000627,31301114,
4719 * 0,00617274,65211115,
4720 1 717,46544251,41104244,
4721 2 0,00000733,13501474,
4722 3 0,21121435,54517275,
4723 4 0,41443514,12417274,
4724 5 0,00000000,00717513 /
4727 DATA (((table(l,n,i),l=1,3),n=1,1),i=56,63)
4728 6 / 74,55311214,35517274,
4729 7 0,12144574,72514245,
4730 8 2,43334240,64635464,
4731 9 133,43313063,53546463,
4732 * 0,00000000,00654125,
4733 1 0,00000003,53105551,
4734 2 0,00000000,00614521,
4735 3 1,32303355,65747261 /
4739 DATA (((table(l,n,i),l=1,3),n=1,2),i=64,71)
4740 4 / 34,43423113,35557351, 0,00000755,13501531,
4741 5 0,00000117,31503432, 4,53442310,65546251,
4742 6 41,44657471,11142544, 0,00000715,53101135,
4743 7 0,25141221,61727465, 0,72744514,12314245,
4744 8 0,00007174,45141171, 0,00000000,53151153,
4745 9 0,00075711,11504441, 0,00252104,54106561,
4746 * 0,00000757,11104144, 1373051,31222435,55646251,
4747 1 3335,25141221,61727465, 0,00000657,57107212 /
4750 DATA (((table(l,n,i),l=1,3),n=1,2),i=72,79)
4751 2 / 0,00711104,14507515, 0,00000041,23456341,
4752 3 0,00727407,31301214, 0,00000000,74632312,
4753 4 0,07375074,24131221, 4544,53736424,13225241,
4754 5 0,00711103,17504215, 4541,23456341,33455341,
4755 6 0,00000000,00711115, 0,00000000,00117315,
4756 7 0,00000011,71337515, 0,00000000,00004541,
4757 8 0,00000000,11711575, 0,00000000,51551351,
4758 9 72,74652514,12216172, 425452,44423344,54635242 /
4761 DATA (((table(l,n,i),l=1,3),n=1,2),i=80,87)
4762 * / 0,00001171,74654441, 15,14740111,27207571,
4763 1 331,50141241,72744514, 4442051,31121435,55747251,
4764 2 1,17174654,44104315, 0,00000000,75134231,
4765 3 0,21121425,61727465, 0,00657571,44111525,
4766 4 0,00000007,17507313, 0,00000001,51101373,
4767 5 0,00007121,12142575, 0,00642203,53105551,
4768 6 0,00000000,00711375, 0,00414506,32302125,
4769 7 0,00000071,12531475, 1112,32417274,45341415 /
4772 DATA (((table(l,n,i),l=1,3),n=1,2),i=88,95)
4773 8 / 0,00000007,11501175, 34540444,20325207,57101511,
4774 9 0,00000714,31304375, 73,13014120,75454171,
4775 * 0,00000000,71751115, 41,31225445,35245241,
4776 1 0,00000000,74721214, 0,00000223,14203531,
4777 2 0,00000000,00002561, 0,00000342,33206323,
4778 3 0,00000000,72741412, 0,00000243,54403531,
4779 4 0,00000000,00547352, 0,00000546,35206323,
4780 5 0,00000000,00001511, 0,00000000,00003531 /
4784 DATA (((table(l,n,i),l=1,3),n=1,2),i=96,103)
4785 6 / 0,00000000,73545373, 0,00000000,00007571,
4786 7 3532,21121425,15555241, 0,00005512,21415215,
4787 8 0,00007111,14355451, 1,16365434,20433513,
4788 9 0,00000055,52311215, 0,00000515,21501155,
4789 * 0,00007515,12315255, 0,75726125,14122143,
4790 1 0,00313554,52311215, 0,05552311,21503531,
4791 2 12,14052540,65746313, 1027,40543514,12315254,
4792 3 121,42575725,13234405, 0,00516224,13225465 /
4795 DATA (((table(l,n,i),l=1,3),n=1,2),i=104,111)
4796 4 / 0,00015455,45101171, 1524,65747362,03172701,
4797 5 0,12140737,37305313, 0,00000000,00431213,
4798 6 0,12132470,40747474, 1027,40543514,12315254,
4799 7 0,00000711,10143154, 0,00511103,15503115,
4800 8 0,00000727,31301214, 0,00000007,11504311,
4801 9 154,55453130,43525111, 443,34203544,75073101,
4802 * 0,01545545,24101151, 0,00000041,42122444,
4803 1 0,00543514,12315254, 0,00534121,13254553 /
4806 DATA (((table(l,n,i),l=1,3),n=1,2),i=112,119)
4807 2 / 0,00031345,57471101, 41,52445504,41401252,
4808 3 0,00035325,17275105, 0,41727445,14124145,
4809 4 0,00045545,24101151, 0,04233456,57463101,
4810 5 0,00001114,25415255, 0,43352513,11415255,
4811 6 0,00000732,31405452, 0,00053231,41505551,
4812 7 0,00005525,14122151, 0,00000041,42121444,
4813 8 0,00000000,00511355, 454,10423112,33143544,
4814 9 0,00000051,12531455, 0,00423112,33143544 /
4817 DATA (((table(l,n,i),l=1,3),n=1,2),i=120,126)
4818 * / 0,00000005,11501155, 6,56142440,31212515,
4819 1 1214,25750453,43241701, 0,00074120,52313455,
4820 2 0,00000000,51551115, 1420,51412216,20656271,
4821 3 0,00141333,42537374, 0,00000000,00000000,
4822 4 0,00000000,00001373, 0,00000000,00000000,
4823 5 0,00121333,44537372, 0,00000000,00000000,
4824 6 0,00000000,45345241, 0,00000000,00000000 /
4833 isx = min(iabs(ix),1023)
4834 isy = min(iabs(iy),779)
4846 IF(nc.LT.0) ffont = .true.
4852 IF((len(string).EQ.1).AND.(nc.NE.1))
THEN
4854 IF(ic.LT.32.OR.(126.LT.ic.AND.ic.LT.192).OR.ic.GT.254)
RETURN
4859 nchr = min(iabs(nc),80)
4880 IF(fvert) isy = isy+my
4887 IF(fvert) isy = isy-5*my/8
4888 ELSEIF((96.LE.ic.AND.ic.LE.126).OR.
4889 > (224.LE.ic.AND.ic.LE.254))
THEN
4891 IF(fvert) isy = isy-my/4
4902 IF(ffont.AND.(string(m:m).EQ.
'$'))
THEN
4914 ic = ichar(string(m:m))
4916 IF(nfont.EQ.2.AND.ic.LT.64)
RETURN
4920 IF(nfont.EQ.2.AND.ic.EQ.96) isx = isx+mx
4923 IF(((isx+mx.GE.1023).AND.(.NOT.fvert)).OR.
4924 a((isx+mx.GE. 779).AND.( fvert)))
THEN
4926 IF(.NOT.fvert) isy = isy-(my+2*jsize)
4927 IF(fvert) isy = isy+(my+2*jsize)
4933 icw = table(3,nfont,ic)
4941 30
IF(j.EQ.9) icw = table(2,nfont,ic)
4942 IF(j.EQ.17) icw = table(1,nfont,ic)
4943 IF((icw.EQ.0).AND.(j.NE.8).AND.(j.NE.16)) goto 50
4957 40
IF(j.EQ.9) icw = table(2,nfont,ic)
4958 IF(j.EQ.17) icw = table(1,nfont,ic)
4966 IF(fvert) isya = isya+2*myd
4975 IF(istart.EQ.1)
THEN
4979 CALL
movabs1(
REAL(ISYA-IY1,R8),
REAL(isx+ix1,r8))
4981 CALL
movabs1(
REAL(ISX+IX1,R8),
REAL(isya+iy1,r8))
4988 CALL
drwabs1(
REAL(ISYA-IY1,R8),
REAL(isx+ix1,r8))
4990 CALL
drwabs1(
REAL(ISX+IX1,R8),
REAL(isya+iy1,r8))
4996 50
IF(.NOT.(nfont.EQ.2.AND.ic.EQ.96)) isx = isx+mx
5001 IF(.NOT.fvert) CALL
movabs1(
REAL(ISX,R8),
REAL(isy,r8))
5002 IF(fvert) CALL
movabs1(
REAL(ISY,R8),
REAL(isx,r8))
5006 entry dlcv1(ix,iy,string,nc,isize)
5009 isx = min(iabs(iy),779)
5010 isy = min(iabs(ix),1023)
5034 integer ix,iy,nc,isize
5038 COMMON /advpage/advp
5041 COMMON /nebdasc/nea(64:255)
5043 COMMON /nascebd/nae(32:126)
5046 CHARACTER*(*) string
5047 CHARACTER chr*1, strout*81, form*17
5048 CHARACTER*4 oct, symb(192:254)
5050 LOGICAL fvert, ffont, fsing, fchange, flinetl, foct
5052 integer nfont,magn,ic,isx,isy,jsize,mx,my,mx1,nchr,
5053 & isxold,isyold,num,m,ilen,n
5055 SAVE nfont, magn, bs1
5057 DATA nfont, magn / 0, 0/
5064 DATA (symb(ic),ic=192,223)
5066 >/
'\\243',
'\\273',
'\\263',
'\\266',
'\\104',
'\\272',
'\\106',
'\\107',
5068 >
'\\340',
'\\362',
'\\112',
'\\250',
'\\114',
'\\055',
'\\321',
'\\267',
5070 >
'\\120',
'\\121',
'\\326',
'\\123',
'\\136',
'\\271',
'\\261',
'\\127',
5072 >
'\\130',
'\\131',
'\\245',
'\\254',
'\\257',
'\\256',
'\\255',
'\\276'/
5074 DATA (symb(ic),ic=224,254)
5076 >/
'\\040',
'\\141',
'\\142',
'\\143',
'\\144',
'\\145',
'\\146',
'\\147',
5078 >
'\\150',
'\\151',
'\\152',
'\\153',
'\\154',
'\\155',
'\\156',
'\\157',
5080 >
'\\160',
'\\161',
'\\162',
'\\163',
'\\164',
'\\165',
'\\166',
'\\167',
5082 >
'\\170',
'\\171',
'\\172',
'\ ',
'\ ',
'\ ',
'\ ' /
5091 isx = min(iabs(ix),1023)
5092 isy = min(iabs(iy),779)
5112 IF (isize.LT.0) mx1 = mx / 2
5114 IF((magn.NE.my).OR.(nfont.NE.1).OR.(advp))
THEN
5117 WRITE(ips,
'(I4,A5)') my,
' scaH'
5122 IF(nc.LT.0) ffont = .true.
5126 IF((len(string).EQ.1).AND.(nc.NE.1))
THEN
5128 IF(ic.LT.32.OR.(126.LT.ic.AND.ic.LT.192).OR.ic.GT.254)
RETURN
5133 nchr = min(iabs(nc),80)
5139 IF(.NOT.fvert)
WRITE(ips,
'(I4,1X,I4,A2)') isx,isy,
' m'
5140 IF(fvert)
WRITE(ips,
'(A9,I4,1X,I4,A21,I1,1X,I1,A2)')
5141 >
'st gsave ',isy,isx,
' translate 90 rotate ',0,0,
' m'
5146 IF(192.LE.ic.AND.ic.LE.254)
THEN
5148 WRITE(ips,
'(I4,A5)') my,
' scaS'
5150 IF(ic.LE.223.OR.ic.GT.250)
THEN
5155 IF(ic.EQ.46.AND.iy.LT.0)
THEN
5157 WRITE(ips,
'(I4,A5)') my+8,
' scaH'
5160 IF(ic.LE.126.OR.ic.GE.224)
THEN
5161 IF(ic.GE.224) ic = ic-128
5167 WRITE(ips,
'(I4,1X,I7,A10)') isx,isy,
' ('//oct//
') tc'
5168 ELSEIF(chr.EQ.
'('.OR.chr.EQ.
')'.OR.chr.EQ.bs1)
THEN
5169 WRITE(ips,
'(I4,1X,I4,A2,2A1,A4)')isx,isy,
' (',bs1,chr,
') tc'
5171 WRITE(ips,
'(I4,1X,I4,A7)') isx,isy,
' ('//chr//
') tc'
5175 WRITE(ips,
'(I4,A10)') mx,
' ('//oct//
') tw'
5176 ELSEIF(chr.EQ.
'('.OR.chr.EQ.
')'.OR.chr.EQ.bs1)
THEN
5177 WRITE(ips,
'(I4,A2,2A1,A4)') mx,
' (',bs1,chr,
') tw'
5179 WRITE(ips,
'(I4,A7)') mx,
' ('//chr//
') tw'
5200 IF(num.GE.nchr) goto 40
5201 IF(((isx+(n+1)*mx1.GE.1100).AND.(.NOT.fvert)).OR.
5202 > ((isx+(n+1)*mx.GE. 779).AND.( fvert)))
THEN
5207 IF(ffont.AND.(string(m:m).EQ.
'$'))
THEN
5213 IF(nfont.EQ.2.AND.chr.NE.
' ')
THEN
5218 IF(ic.LE.95.OR.ic.GT.122)
THEN
5223 IF(chr.EQ.
'('.OR.chr.EQ.
')'.OR.chr.EQ.bs1)
THEN
5225 strout = strout(1:ilen+1)//bs1//chr
5229 strout = strout(1:ilen+1)//oct
5233 strout = strout(1:ilen+1)//chr
5242 40
IF(ilen.NE.0)
THEN
5245 WRITE(form,
'(A8,I3,A4)')
'(I4,A2,A',ilen,
',A4)'
5246 WRITE(ips,form) mx,
' (',strout(2:ilen+1),
') tw'
5248 WRITE(ips,
'(I4,A2,A70,A4)')
5249 > mx,
' (',strout(2:71),
') tw'
5250 WRITE(form,
'(A8,I3,A4)')
'(I4,A2,A',ilen-70,
',A4)'
5251 WRITE(ips,form) mx,
' (',strout(72:ilen+1),
') tw'
5255 WRITE(form,
'(A5,I3,A4)')
'(A1,A',ilen,
',A4)'
5256 WRITE(ips,form)
'(',strout(2:ilen+1),
') sh'
5258 WRITE(ips,
'(A1,A70,A4)')
5259 >
'(',strout(2:71),
') sh'
5260 WRITE(form,
'(A5,I3,A4)')
'(A1,A',ilen-70,
',A4)'
5261 WRITE(ips,form)
'(',strout(72:ilen+1),
') sh'
5268 IF(.NOT.fvert) isy = isy-(my+2*jsize)
5269 IF(fvert) isy = isy+(my+2*jsize)
5271 IF(.NOT.fvert)
WRITE(ips,
'(I4,1X,I4,A2)') isx,isy,
' m'
5272 IF(fvert)
WRITE(ips,
'(I4,1X,I4,A2)') 0,isyold-isy,
' m'
5277 IF(nfont.EQ.1)
WRITE(ips,
'(I4,A5)') my,
' scaH'
5278 IF(nfont.EQ.2)
WRITE(ips,
'(I4,A5)') my,
' scaS'
5282 IF(num.LT.nchr) goto 20
5285 50
IF(.NOT.fvert) CALL
movabs2(
REAL(ISX,R8),
REAL(isy,r8))
5286 IF(fvert)
WRITE(ips,
'(A8)')
'grestore'
5287 IF(fvert) CALL
movabs2(
REAL(ISY,R8),
REAL(isx,r8))
5291 entry dlcv2(ix,iy,string,nc,isize)
5294 isx = min(iabs(iy),779)
5295 isy = min(iabs(ix),1023)
5312 COMMON /lclps/lcal,lpos
5316 IF(lcal.EQ.1) CALL
begplt1(name)
5317 IF(lpos.EQ.1) CALL
begplt2(name)
5344 COMMON /lib8x1/zixsav,ziysav
5345 real (r8) zixsav,ziysav
5367 COMMON /lib8x2/zixsav,ziysav
5368 real (r8) zixsav,ziysav
5371 WRITE(ips,
'(A/A9,A8/A/A/A/A/A/A/A)')
5374 >
'%%Creator: PPPLIB',
5375 >
'%%Pages: (atend)',
5376 >
'%%BoundingBox: 50 400 50 400',
5381 WRITE(ips,
'(7(A/),A)')
5383 >
'.5 .5 scale 100 100 translate',
5384 >
'.1 setlinewidth',
5385 >
'/l {lineto} def /m {moveto} def /sf {setrgbcolor fill} def',
5386 >
'/rl {rlineto} def /rm {rmoveto} def',
5387 >
'/sh {show} def /st {stroke} def',
5388 >
'/pt {l .4 setlinewidth st .1 setlinewidth} def',
5389 >
'/scaH {/Helvetica findfont exch scalefont setfont} def',
5390 >
'/scaS {/Symbol findfont exch scalefont setfont} def'
5391 WRITE(ips,
'(17(A/),A)')
5392 >
'/tw % typewrite (str) with dx=skip.',
5393 >
' {/str exch def /skip exch def',
5394 >
' str {/charcode exch def /char ( ) dup 0 charcode put def',
5395 >
' skip 2 div 0 rm gsave',
5396 >
' char stringwidth pop 2 div neg 0 rm',
5397 >
' char show grestore skip 2 div 0 rm} forall} def',
5398 >
'/tc % type centered character.',
5399 >
' {/ch exch def /y exch def /x exch def',
5400 >
' gsave newpath 0 0 m',
5401 >
' ch true charpath flattenpath pathbbox',
5402 >
' /ury exch def /urx exch def /lly exch def /llx exch def',
5403 >
' urx llx add 2 div /dx exch def',
5404 >
' ury lly add 2 div /dy exch def grestore',
5405 >
' x dx sub y dy sub m ch sh} def'
5406 WRITE(ips,*)
'/mx {/v1 exch def v1 1 gt {1} {v1} ifelse} def'
5407 WRITE(ips,*)
'/mi {/v1 exch def v1 0 lt {0} {v1} ifelse} def'
5408 WRITE(ips,*)
'/rgb2 {/cc exch def'
5409 WRITE(ips,*)
'2 cc 4 mul sub /bb exch def %blue'
5410 WRITE(ips,*)
'2 4 cc mul 2 sub abs sub /gg exch def %green'
5411 WRITE(ips,*)
'cc 4 mul 2 sub /rr exch def %red'
5412 WRITE(ips,*)
'rr gg bb setrgbcolor'
5413 WRITE(ips,*)
'} def'
5414 WRITE(ips,*)
'/rgb {/cc exch def 1 cc sub /dd exch def'
5415 WRITE(ips,*)
'1 6 dd mul 3 sub abs sub mx mi /r2 exch def'
5416 WRITE(ips,*)
'6 dd mul 5 sub mx mi /r3 exch def'
5417 WRITE(ips,*)
'1 12 dd mul sub mx mi /r4 exch def'
5418 WRITE(ips,*)
'dd 4 mul 2 sub mx mi r2 add /bb exch def'
5419 WRITE(ips,*)
'2 4 dd mul 2 sub abs sub /gg exch def'
5420 WRITE(ips,*)
'2 dd 4 mul sub mx mi '
5421 > //
'r2 add r3 add r4 sub /rr exch def'
5422 WRITE(ips,*)
'rr gg bb setrgbcolor'
5423 WRITE(ips,*)
'} def'
5424 WRITE(ips,*)
'/tri { add add 3 div rgb'
5425 WRITE(ips,*)
' moveto lineto lineto closepath fill '
5426 WRITE(ips,*)
'} def'
5427 WRITE(ips,*)
'0 /nql exch def'
5428 WRITE(ips,*)
'/ftr {/nq exch def'
5429 WRITE(ips,*)
'%recursive,lowest level,fill triangle with average'
5430 WRITE(ips,*)
'nq 0 eq { tri } if'
5431 WRITE(ips,*)
'% next level'
5432 WRITE(ips,*)
'nq 0 gt {'
5433 WRITE(ips,*)
'nq 1 sub /nq exch def'
5434 WRITE(ips,*)
'/c3 exch def /c2 exch def /c1 exch def'
5435 WRITE(ips,*)
'/y3 exch def /x3 exch def'
5436 WRITE(ips,*)
'/y2 exch def /x2 exch def'
5437 WRITE(ips,*)
'/y1 exch def /x1 exch def'
5438 WRITE(ips,*)
'x1 x2 add 2 div /x12 exch def'
5439 WRITE(ips,*)
'y1 y2 add 2 div /y12 exch def'
5440 WRITE(ips,*)
'c1 c2 add 2 div /c12 exch def'
5441 WRITE(ips,*)
'x1 x3 add 2 div /x13 exch def'
5442 WRITE(ips,*)
'y1 y3 add 2 div /y13 exch def'
5443 WRITE(ips,*)
'c1 c3 add 2 div /c13 exch def'
5444 WRITE(ips,*)
'x2 x3 add 2 div /x23 exch def'
5445 WRITE(ips,*)
'y2 y3 add 2 div /y23 exch def'
5446 WRITE(ips,*)
'c2 c3 add 2 div /c23 exch def'
5447 WRITE(ips,*)
'x1 y1 x12 y12 x13 y13 c1 c12 c13 nq'
5448 WRITE(ips,*)
'x3 y3 x13 y13 x23 y23 c3 c13 c23 nq'
5449 WRITE(ips,*)
'x2 y2 x12 y12 x23 y23 c2 c12 c23 nq'
5450 WRITE(ips,*)
'x12 y12 x13 y13 x23 y23 c12 c13 c23 nq'
5451 WRITE(ips,*)
'ftr ftr ftr ftr '
5453 WRITE(ips,*)
'} def'
5510 WRITE(ips,
'(A)')
'%%End Setup'
5511 WRITE(ips,
'(A)')
'newpath'
5512 WRITE(ips,
'(A)')
'%%Page: 1 1'
5513 WRITE(ips,
'(A)')
'%%start plotting'
5543 COMMON /lib8x1/zixsav,ziysav
5544 real (r8) zixsav,ziysav
5560 COMMON /lclps/lcal,lpos
5596 >
'stroke gsave showpage grestore',
5598 WRITE(ips,
'(A,I5)')
'%%Pages: ',igr
5599 WRITE(ips,
'(A)')
'%%EOF'
5614 COMMON /lclps/lcal,lpos
5617 IF(lcal.EQ.1) CALL
adv1(n)
5618 IF(lpos.EQ.1) CALL
adv2(n)
5652 COMMON /advpage/advp
5657 IF(igr.NE.0)
WRITE(ips,
'(A30/A8,I3,I3)')
5658 >
'stroke gsave showpage grestore',
5663 >
'%%Page: ',igr+n,igr+n
5671 SUBROUTINE drv(ZIX1,ZIY1,ZIX2,ZIY2)
5679 real (r8) zix1,ziy1,zix2,ziy2
5680 COMMON /lclps/lcal,lpos
5683 IF(lcal.EQ.1) CALL
drv1(zix1,ziy1,zix2,ziy2)
5684 IF(lpos.EQ.1) CALL
drv2(zix1,ziy1,zix2,ziy2)
5688 SUBROUTINE drv1(ZIX1,ZIY1,ZIX2,ZIY2)
5697 real (r8) zix1,ziy1,zix2,ziy2
5698 COMMON /lib8x1/zixsav,ziysav
5699 real (r8) zixsav,ziysav
5706 SUBROUTINE drv2(ZIX1,ZIY1,ZIX2,ZIY2)
5714 real (r8) zix1,ziy1,zix2,ziy2
5718 COMMON /lib8x2/zixsav,ziysav
5719 real (r8) zixsav,ziysav
5727 WRITE(ips,
'(A2)')
'st'
5730 WRITE(ips,
'(F8.3,1X,F8.3,A3,F8.3,1X,F8.3,A2)')
5731 > zix1,ziy1,
' m ',zix2,ziy2,
' l'
5747 COMMON /lclps/lcal,lpos
5750 IF(lcal.EQ.1) CALL
drp1(zix,ziy)
5751 IF(lpos.EQ.1) CALL
drp2(zix,ziy)
5765 COMMON /lib8x1/zixsav,ziysav
5766 real (r8) zixsav,ziysav
5785 COMMON /lib8x2/zixsav,ziysav
5786 real (r8) zixsav,ziysav
5788 WRITE(ips,
'(a3,F8.3,1X,F8.3,A3,F8.3,1X,F8.3,A3)')
5789 >
'st ',zix+0.4,ziy,
' m ',zix,ziy,
' pt'
5804 COMMON /lclps/lcal,lpos
5807 IF(lcal.EQ.1) CALL
movabs1(zix,ziy)
5808 IF(lpos.EQ.1) CALL
movabs2(zix,ziy)
5822 COMMON /lib8x1/zixsav,ziysav
5823 real (r8) zixsav,ziysav
5842 COMMON /lib8x2/zixsav,ziysav
5843 real (r8) zixsav,ziysav
5850 IF(numbin.GE.50)
THEN
5851 WRITE(ips,
'(A2)')
'st'
5854 WRITE(ips,
'(F8.3,1X,F8.3,A2)') zix,ziy,
' m'
5869 COMMON /lclps/lcal,lpos
5872 IF(lcal.EQ.1) CALL
drwabs1(zix,ziy)
5873 IF(lpos.EQ.1) CALL
drwabs2(zix,ziy)
5888 COMMON /lib8x1/zixsav,ziysav
5889 real (r8) zixsav,ziysav
5908 COMMON /lib8x2/zixsav,ziysav
5909 real (r8) zixsav,ziysav
5911 IF(zix.EQ.zixsav.AND.ziy.EQ.ziysav)
THEN
5912 WRITE(ips,
'(A3,F8.3,1X,F8.3,A3,F8.3,1X,F8.3,A4,F8.3,1X,F8.3,A2)')
5913 >
'st ',zix+1.,ziy,
' m ',zix,ziy,
' pt ',zix,ziy,
' m'
5915 WRITE(ips,
'(F8.3,1X,F8.3,A2)') zix,ziy,
' l'
5936 COMMON /lib8x1/zixsav,ziysav
5937 real (r8) zixsav,ziysav
5953 COMMON /lib8x2/zixsav,ziysav
5954 real (r8) zixsav,ziysav
5986 write(ips,*)
' stroke'
5987 if (icol.eq.0)
write(ips,*)
' 0.0 0.0 0.0 setrgbcolor'
5988 if (icol.eq.1)
write(ips,*)
' 1.0 0.0 0.0 setrgbcolor'
5989 if (icol.eq.2)
write(ips,*)
' 0.0 1.0 0.0 setrgbcolor'
5990 if (icol.eq.3)
write(ips,*)
' 0.0 0.0 1.0 setrgbcolor'
5991 if (icol.eq.4)
write(ips,*)
' 1.0 1.0 0.0 setrgbcolor'
5992 if (icol.eq.5)
write(ips,*)
' 0.0 1.0 1.0 setrgbcolor'
5993 if (icol.eq.6)
write(ips,*)
' 1.0 0.0 1.0 setrgbcolor'
5994 if (icol.eq.7)
write(ips,*)
' 1.0 0.6 0.0 setrgbcolor'
5995 if (icol.eq.8)
write(ips,*)
' 0.6 0.0 1.0 setrgbcolor'
5996 if (icol.eq.9)
write(ips,*)
' 0.0 1.0 0.6 setrgbcolor'
6006 REAL (R8) x(3),y(3),z(3)
6010 z(i) = (z(i)-zmin)/(zmax-zmin)
6012 WRITE(ips,901) x(1),y(1),x(2),y(2),x(3),y(3),
6013 > max(0.0_r8,min(1.0_r8,z(1))),
6014 > max(0.0_r8,min(1.0_r8,z(2))),
6015 > max(0.0_r8,min(1.0_r8,z(3)))
6016 901
FORMAT(6f8.2,3f8.3,
' nql ftr')
6030 REAL (R8) x(3),y(3),z(3),zc(*)
6032 real (r8) xwidth,xoff,zmax,zmin,z1,z3,y1,x3
6041 z1 = (zmax-zmin)*
REAL(i-1,r8)/
REAL(nlabc-1,r8)+zmin
6043 z3 = (zmax-zmin)*
REAL(i,r8)/
REAL(nlabc-1,r8)+zmin
6046 y(1) = yb+xoff +
REAL(i-1,r8)/
REAL(nlabc-1,r8)*(yt-yb-2*xoff)
6047 y(3) = yb+xoff +
REAL(I,R8) /
REAL(nlabc-1,r8)*(yt-yb-2*xoff)
6050 x(3) = xr + xoff + xwidth
6060 WRITE(ips,*)
'0. 0. 0. setrgbcolor'
6063 y1 = yb+xoff + (zc(i)-zmin)/(zmax-zmin)*(yt-yb-2*xoff)
6064 x3 = xr + xoff + xwidth
6065 WRITE(alab,
'(1PE9.2)') z1
6066 CALL
dlch2(int(x3+5._r8),int(y1),alab,19,-1)
6067 WRITE(ips,11) x3-xwidth/2._r8,y1
6070 WRITE(alab,
'(1PE9.2)') zmax
6071 CALL
dlch2(int(x3+5._r8),int(yt-xoff),alab,19,-1)
6074 WRITE(ips,11) xr+xoff,yt-xoff
6075 WRITE(ips,12) xr+xoff+xwidth,yt-xoff
6076 WRITE(ips,12) xr+xoff+xwidth,yb+xoff
6077 WRITE(ips,12) xr+xoff,yb+xoff
6078 WRITE(ips,12) xr+xoff,yt-xoff
6079 11
format(2f8.2,
' m')
6080 12
format(2f8.2,
' l')
subroutine qcplot(NX, NY, INCX, INCY, Z, NDIM, ZC, NC, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME, LGZ, IOUNIT)
subroutine seeloc2(ZIX, ZIY)
subroutine drv1(ZIX1, ZIY1, ZIX2, ZIY2)
real(r8) function alog19(ARG)
subroutine drv(ZIX1, ZIY1, ZIX2, ZIY2)
subroutine dlnln(NX, NY, IBOX, IAX, IAY)
subroutine vplot(MX, MY, IVEC, X, Y, NX, NY, INCX, INCY, VX, VY, NDIM, SIZE, L, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine dash(ZIX1, ZIY1, ZIX2, ZIY2, L1, L2, L, LL)
subroutine maxv(A, N, INC, B, I)
subroutine lbltop(LABEL, NLABEL)
subroutine aplot9(MX, MY, IA, YX, AVXY, NX, NY, Z, TITLE)
subroutine colorbar(ZC, NLAB, XR, YT, YB)
subroutine out(rbnd, zbnd, zli3, betpol, bettot, parpla)
subroutine dplot(MX, MY, X, Y, NPTS, INC, L1, L2)
subroutine begmov(NAME, TITLE, NTITLE)
subroutine cplotm(MX, MY, ILAB1, X, Y, NX, NY, INCX, INCY, Z, NDIM, ZC, NC, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
function numlin(i, j, nr, nt)
subroutine tricj3(XV, YV, DX, DY, NOC, ZC, ZX, ZV, ZY, ICORD)
subroutine wrtext1(IUNIT)
subroutine drwabs1(ZIX, ZIY)
subroutine fplot(MX, MY, IVEC, X, Y, NPTS, INC, VX, VY, VFAC, L, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine dlch2(IX, IY, STRING, NC, ISIZE)
subroutine filltria(X, Y, Z, ZMIN, ZMAX)
subroutine drp2(ZIX, ZIY)
subroutine maxm(A, IA, M, N, INCK, INCL, B, I, J)
subroutine tplot(MX, MY, IVERT, NX, NY, INCX, INCY, Z, NDIM, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine convrt(Z, IZ, Z1, Z2, IZ1, IZ2)
subroutine code(ZIX, ZIY, C)
subroutine drwabs(ZIX, ZIY)
subroutine ascl(M, ZMIN, ZMAX, MAJOR, MINOR, KF)
subroutine drwabs2(ZIX, ZIY)
subroutine movabs2(ZIX, ZIY)
subroutine lplot6(MX, MY, X, Y, NPTS, TITLE)
subroutine nframe(MX, MY, IOP, XMIN, XMAX, YMIN, YMAX, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
real(r8) function p(a, x, xr, xs, yr, ys, psi, psir, F_dia)
subroutine arrow1(ZIX1, ZIY1, ZIX2, ZIY2, L)
subroutine dlch(IX, IY, STRING, NC, ISIZE)
subroutine drv2(ZIX1, ZIY1, ZIX2, ZIY2)
subroutine tricj3m(XX, YX, XV, YV, XY, YY, NOC, ZC, ZX, ZV, ZY, ICORD)
subroutine seeloc1(ZIX, ZIY)
subroutine vplot9(MX, MY, X, Y, NX, NY, VX, VY, TITLE)
subroutine movabs1(ZIX, ZIY)
subroutine cplot(MX, MY, ILAB, X, Y, NX, NY, INCX, INCY, Z, NDIM, ZC, NC, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine lplot(MX, MY, IOP, X, Y, NPTS, INC, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine cplotfe(MX, MY, ILAB1, X, Y, Z, NX, INC, ZC, NC, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine aplot(MX, MY, IA, YX, AVXY, NX, NY, INCYX, Z, NDIM, IJ1, IJ2, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine box(IX1, IX2, IY1, IY2)
subroutine cplot8(MX, MY, X, Y, NX, NY, Z, TITLE)
subroutine p3plot(MX, MY, R, TH, NR, NTH, F, NDIM, THX, THY, TITLE, NTITLE)
subroutine dlch1(IX, IY, STRING, NC, ISIZE)
subroutine clip(ZIX1, ZIY1, ZIX2, ZIY2)
subroutine splot(MX, MY, IS, IOP, YX, ZXY, NX, NY, INCYX, Z, NDIM, IJARR, NS, TITLE, NTITLE, XNAME, NXNAME, YNAME, NYNAME)
subroutine hplot6(MX, MY, X, Y, NPTS, TITLE)
subroutine plots(A, B, NAME)
subroutine splot9(MX, MY, IS, YX, ZXY, NX, NY, Z, TITLE)
subroutine wrtext2(IUNIT)
subroutine pplot(MX, MY, X, Y, NPTS, INC)
subroutine drp1(ZIX, ZIY)
subroutine dga(IX1, IX2, IY1, IY2, X1, X2, Y1, Y2)
subroutine movabs(ZIX, ZIY)