c c subroutine putmsg c c PROGRAM NAME: PUTMSG.rat c c DATE OF FIRST VERSION: 11-Nov-82 c DATE OF CURRENT VERSION: 21-Jun-83 c c PURPOSE: PLT subroutine to plot a message c c USAGE: call PUTMSG c c PROGRAMMER: E. Javel / M. Prucka c c********************************************************************* c external len c c Common block for PLT parameters c real*8prmnam,txtnam,keywrd bytexlabel,ylabel,rlabel,xfmt,yfmt,rfmt,msg,filonm(14) bytefilinm(40) logical*1dataon,pltfnd,msgflg,finflg,modflg,conton,axflg,newpag, & ecflg,typerr,dbflg c common /params/xmin,xmax,xint,xcycle,xpct,xlen,xllc,ymin,ymax, & yint,ycycle,ypct,ylen,yllc,rmin,rmax,rint,rcycle,rpct,pltype, & typlin,pltlin,symnum,sizsym,solid,sizann,wtlnan,xanlab,yanlab, & ranlab,yhor,grid,sizlab,wtlnlb,ticmrk,shade,echo,wtlnax,openax, & sizmsg,wtlnms,xmsg,ymsg,angmsg,datmsg,sizfac,smooth,header,sort, & unused(1) common /flags/dataon,pltfnd,msgflg,finflg,modflg,conton,axflg, & newpag,ecflg,typerr,dbflg common /names/prmnam(50),txtnam(6),keywrd(25),filinm,filonm common /text/xlabel(52),ylabel(52),rlabel(52),xfmt(6),yfmt(6), & rfmt(6),msg(256) common /misc/ifrom,ito,inow,ipage,model,lunin,lunout c common /axes/rxmin,rxmax,rymin,rymax,rxlen,rylen,rxllc,ryllc, & pxmin,pxmax,pymin,pymax,pxlen,pylen,pxllc,pyllc common /size/tiklen,hitann,hitlab,hitsym,hitmsg,iaxlnw,igrlnw, & ianlnw,ilblnw,ipllnw,imslnw,avgaxl common /msks/ msk1,msk2,msk3,msk4,msk5 c Set the message size and line weight call setsiz if(.not.(sizfac .ge. 0.))goto 23000 if(.not.(sizmsg .lt. 0.))goto 23002 hitmsg = -sizmsg goto 23003 c else 23002 continue if(.not.(sizfac .eq. 0.))goto 23004 hitmsg = (rxlen+rylen) / 2. goto 23005 c else 23004 continue hitmsg = sizfac 23005 continue hitmsg = sizmsg * hitmsg / 40. 23003 continue if(.not.(wtlnms .lt. 0.))goto 23006 imslnw = -wtlnms goto 23007 c else 23006 continue imslnw = wtlnms * hitmsg * 20. 23007 continue 23000 continue nchr = len (msg) if(.not.(nchr .le. 0))goto 23008 return 23008 continue call newpen (imslnw) c If MSGDAT is not 0, recompute MXLLC and MYLLC in terms of data values; c otherwise, use MXLLC and MYLLC in inches. if(.not.(datmsg .ne. 0.))goto 23010 call msgloc (xmsg,ymsg,xm,ym) goto 23011 c else 23010 continue xm = xmsg ym = ymsg 23011 continue c Plot the message call text(rxllc+xm,ryllc+ym,hitmsg,msg,angmsg,nchr) return end