cMEMBER NAME pplot.f C 10/06/86 09:56:03 10/06/86 09:51:34 $380300.MJS C SUBROUTINE PPLOT(BARR,MP,ME,ICMP,NCMP,A,Z,V,B,RN,WPA,WPE,TEXT, +LSUM) c REAL*8 $$$DT(6) /'$$DATE$$','10/06/86','09:51:34', c ! ' PPLOT',' FORTRAN','MJS '// COMMON/CHARHI/CH COMMON/PMODE/ISIM DIMENSION BARR(129,5),CURSIM(128),CHAN(129) DIMENSION V(3),B(3),XIN(4),YIN(4) DIMENSION VK(3) DIMENSION AW(5),ZW(5),RNW(5),WPAKW(5),WPEKW(5) C V, WPA, WPE ALL PASSED TO PPLOT IN CM/S C VK, WPAK, WPEK ALL IN KM/S character*4 XCUP(4) ,CCUP REAL*4 TITL(2),FTITL(4) character*4 FEED(2) character*1 TEXT(30) LOGICAL*4 LSUM EQUIVALENCE (CCUP,TITL(2)) EQUIVALENCE (CCUP,FTITL(2)) EQUIVALENCE (FEED(1),FTITL(3)) DATA HT/.15/,YB/.1/,IDEC/8/ DATA IPRT/6/ INTEGER*4 IQUERY(3)/1,0,2/,IANS/0/ DATA W/11./,H/8.5/ data XCUP /' A-',' B-',' C-',' D-'/,CCUP/'CUP '/ data FEED /'*E F','DTH*'/ C C BEGIN EXECUTION C C-------- C-------- THE PLOTTING CALLS NOW HAVE VARIABLE DIMENSIONS AND C-------- ARE DETERMINED BY THE DATA STATEMENT DEFINING THE C-------- DESIRED OVERALL SIZE. CURRENTLY W=11.0 INCHES AND C-------- H=8.5 INCHES. ALL THE MULTIPLICITIVE CONSTANTS IN THE C-------- PLOTTING CALLS ARE DETERMINED USING A DEFAULT SIZE OF C-------- W=17.5 INCHES AND H=11.0 INCHES. C-------- XIN(1)=.0857*W XIN(2)=.4857*W XIN(3)=XIN(1) XIN(4)=XIN(2) YIN(1)=.5909*H YIN(2)=YIN(1) YIN(3)=.2273*H YIN(4)=YIN(3) HT=.0136*H CH=.0164*H IL=1 AW(ICMP)=A ZW(ICMP)=Z RNW(ICMP)=RN WPAK=WPA/1.E5 WPEK=WPE/1.E5 WPAKW(ICMP)=WPAK WPEKW(ICMP)=WPEK CALL SETUSR3 ('R. L. MCNUTT,JR.',17) JNE=16*8**MP ANE=JNE VK(1)=V(1)/1.E5 VK(2)=V(2)/1.E5 VK(3)=V(3)/1.E5 DO 30 I=1,JNE CHAN(I)=I-1. IF (I .EQ. JNE) CHAN(I+1)=I 30 CONTINUE WRITE (6,71) YB,IDEC 71 FORMAT (1H ,'THE SCALE STARTS AT',1PE9.2,1X,'FEMTOAMPS AND GOES UP +',I2,1X,'DECADES') 373 REWIND 5 WRITE(IPRT,72) 72 FORMAT(1H0,'CHANGE CURRENT SCALE FROM CURRENT VALUE? 1=YES, 0=NO') READ(5,*,END=373) IANS IF (IQUERY(1) .EQ. IANS) GO TO 374 IF (IQUERY(2) .EQ. IANS) GO TO 73 374 WRITE (IPRT,74) 74 FORMAT(1H0,'YB (MUST BE A POWER OF 10),IDEC (NUMBER OF DECADES)') READ (5,*,END=73)YB,IDEC 73 CONTINUE CALL UBELL CALL UPAUSE C C DO NEXT PLOT C CALL NXPAGE(W,H) CALL SETXAX6 (0.,1.,0,.8286*W,1,0) CALL SETYAX6 (0.,1.,0,.9091*H,1,0) CALL LABEL (1,' ',1,' ',23,'BIMAXWELLIAN SIMULATION') CALL SETAFF3 (0.,.0029*W,.0037*H) CALL SETXAX6 (0.,1.,0,.8229*W,1,0) CALL SETYAX6 (0.,1.,0,.9*H,1,0) CALL LABEL (1,' ',1,' ',1,' ') CALL SETYAX6 (0.,1.,0,.1455*H,1,0) CALL LABEL (1,' ',1,' ',1,' ') C C WRITE INPUT VARIABLES ON PLOT C CALL SETAFF3 (0.,.0057*W,.0091*H) CALL SETXAX6 (0.,1.,0,.8171*W,1,0) CALL SETYAX6 (0.,1.,0,.1364*H,1,0) CALL LABEL (1,' ',1,' ',1,' ') C C WRITE OUT INPUT TEXT STRING C CALL LABSYM(.1229*W,.1073*H,.5714*W,TEXT,0.,30) C C WRITE OUT VELOCITY AND MAGNETIC FIELD VECTORS C CALL SYMBOL error CALL SYMBOL error C C LOOP IF MULTIPLE SPECIES C IL=ICMP XS=.0286*W IF ( .NOT. LSUM) GO TO 101 DO 102 IL=1,NCMP XS=(IL*9-8)*.0286*W 101 CONTINUE C C WRITE OUT MASS AND CHARGE OF SPECIES C CALL SYMBOL (XS,.0591*H,HT,'A = ',0.,4) CALL NUMCON(AW(IL),-1) CALL SYMCON (' Z = ',5) CALL NUMCON(ZW(IL),-1) C C WRITE OUT DENSITY C CALL SYMBOL (XS,.0364*H,HT,'N(CM-3) =',0.,9) CALL NUMCON(RNW(IL),3) C C WRITE OUT PARALLEL AND PERPENDICULAR THERMAL SPEEDS C CALL SYMBOL (XS,.0136*W,HT,'WPAR = ',0.,6) CALL NUMCON(WPAKW(IL),3) CALL SYMCON (' WPER = ',9) CALL NUMCON(WPEKW(IL),3) CALL SYMCON (' KM/S',5) 102 CONTINUE CALL SETAFF0 () C C DO PANELS ON PLOT C IF (ISIM .EQ. 2 .OR. ISIM .EQ. 4) GO TO 1500 DO 100 ICUP=1,4 CALL SETAFF3 (0.,XIN(ICUP),YIN(ICUP)) CALL SETXAX7 YT=YB*10.**IDEC CALL SETYAX6 (YB,YT,IDEC,.2727*H,IDEC,IDEC) CALL MVC(XCUP(ICUP),TITL(1),4) IF (ISIM .EQ. 1) *CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',8,TITL) IF (ISIM .EQ. 3) *CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',16,FTITL) DO 50 L=1,JNE CURSIM(L)=BARR(L,ICUP) 50 CONTINUE C C PUT DATA IN PANEL C CALL HISTRA5 (CHAN(1),CHAN(2),CURSIM,CURSIM,JNE) CALL SETAFF0 () 100 CONTINUE GO TO 2000 C C CHANGE PLOT FORMAT WHEN CURRENTS IN E1 OR E2 MODE ARE PLOTTED C 1500 CONTINUE CALL SETAFF3 (0.,0.2857*W,0.4091*H) CALL SETXAX7 YT=YB*10.**IDEC CALL SETYAX6 (YB,YT,IDEC,.2727*H,IDEC,IDEC) IF (ISIM .EQ. 2 .AND. ME .EQ. 0) *CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',7,'E2 MODE') IF (ISIM .EQ. 2 .AND. ME .EQ. 1) *CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',7,'E1 MODE') IF (ISIM .EQ. 4 .AND. ME .EQ. 0) 1CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',19,'E2 MODE FEEDTHROUGH 2') IF (ISIM .EQ. 4 .AND. ME .EQ. 1) 1CALL LABEL (14,'CHANNEL NUMBER',7,'CURRENT',19,'E1 MODE FEEDTHROUGH 2') DO 51 L=1,JNE CURSIM(L)=BARR(L,4) 51 CONTINUE C C PUT DATA IN PANEL C CALL HISTRA5 (CHAN(1),CHAN(2),CURSIM,CURSIM,JNE) CALL SETAFF0 () CALL UBELL CALL UPAUSE CALL CLRTEK C C DRAW TERMINAL CUT LINE AND RETURN TO ALPHANUMERIC MODE C 2000 CALL BEGPLT0 () RETURN END