Fundamental Technologies

Voyager LECP Pages

An Analysis of the Performance of the Magnetic Deflection System in the Voyager Low Energy Charged Particle Experiment

by Sheela Shodhan

E.22 PLOTR5BLN

**************************************************************************
      SUBROUTINE PLOTR5(X,Y,NPT,NLN,TITLE,XLAB,YLAB,LNPT,LNK)
*                                                                        *
*     THIS SUBROUTINE IS TO PLOT THE DATA SOTRED IN ARRAY X AND Y        *
*     BY USING SOME NCAR SUBROUTINES. THIS PLOT ROUTINE IS DESIGNED      *
*     FOR GENERAL USE WITH LIMITED VARIETY OF PLOTTING FEATURES.         *
*     MODIFICATION CAN BE MADE EASILY IF REQIURED.                       *
*                                                                        *
*     VARIABLES :                                                        *
*     X(I,J),Y(I,J): 2-D ARRAYS CONTAIN THE DATA. THEY SHOULD BE         *
*                    DIMENSIONED BEFORE ENTRY. NB=50,NN=1000             *
*                    THE ROW INDEX,I, REFERS TO LINES,                   *
*                    THE COLUMN INDEX,J, REFERS TO POINTS ON A LINE      *
*     NPT(I)       : 1-D ARRAY CONTAINS THE NUMBER OF POINTS IN EACH LINE*
*     NLN          : AN INTEGER FOR THE NUMBER OF LINES TO BE DRAWED.    *
*     TITLE        : THE TITLE FOR THE PLOT                              *
*     XLAB         : CAPTION IN HORIZONTAL DIRECTION                     *
*     YLAB         : CAPTION IN VERTICAL DIRECTION                       *
*     LNPT         : A FLAG INDICATING LINEAR & LOG MAPPING              *
*                    LNPT   X DIRECTION  Y IRECTION                      *
*                     1       LINEAR        LINEAR                       *
*                     2       LINEAR        LOG                          *
*                     3       LOG           LINEAR                       *
*                     4       LOG           LOG                          *
*                    11-14 THE SAME SCHEME WILL BE USED, BUT WITH        *
*                          GRID BACKGROUND                               *
*     LNK          : A FLAG INDICATING THE LINE AND POINT SYMBOLS        *
*                    LNK    DESCRIPTION                                  *
*                     -1    SOLID CURVE                                  *
*                      0    DOTS                                         *
*                      1    CIRCLE                                       *
*                      2    SOLID SQUARE                                 *
*                      3    TRIANGLE                                     *
*                      4    SOLID CIRCLE                                 *
*                      5    DIAMOND                                      *
*                      6    SOLID TRIANGLE                               *
*                      7    CROSS                                        *
*                      8    CIRCLE WITH PLUS SIGN                        *
**************************************************************************
      PARAMETER (NB=50,NN=1000)
      CHARACTER*72 TITLE,XLAB,YLAB
      REAL X(NB,NN),Y(NB,NN),X1(NN),Y1(NN),ST(4)
      INTEGER NPT(NB),MTY(NB)
      DATA (ST(I),I=1,4)/0.15,0.90,0.20,0.90/
      DATA (MTY(I),I=1,8)/1,2,3,4,5,6,7,8/
      LPOWX=0
      LPOWY=0
      IF (LNPT.GT.10.AND.LNPT.LT.15) THEN
         LTYP=LNPT-10
      ELSE
         LTYP=LNPT
      END IF
      CALL CMAXMIN(X,NPT,NLN,XMIN,XMAX)
      CALL CMAXMIN(Y,NPT,NLN,YMIN,YMAX)
      IF (LTYP.EQ.1) THEN
         CALL NEAR(1,XMAX,XMIN,UMAX,UMIN,MJTKX,MNTKX,LPOWX)
         CALL NEAR(1,YMAX,YMIN,VMAX,VMIN,MJTKY,MNTKY,LPOWY)
      END IF
      CALL OPTN('SSIZE',2)
      CALL OPTN('COLOR','WHITE')
      CALL HEADER1(TITLE)
      CALL SET(ST(1),ST(2),ST(3),ST(4),XMIN,XMAX,YMIN,YMAX,LTYP)
      IF (LNPT.LT.10) THEN
         CALL PERIM(MJTKX,MNTKX,MJTKY,MNTKY)
      ELSE
         CALL GRID(MJTKX,MNTKX,MJTKY,MNTKY)
      END IF
      DO I=1,NLN
         NTY=LNK
         DO J=1,NPT(I)
            X1(J)=X(I,J)
            Y1(J)=Y(I,J)
            IF ((I .NE. 1) .AND. (I .NE. 2)) THEN
              IF (NTY.EQ.0) CALL PWRITX(X1(J),Y1(J),'"140"',5,18,0,0)
              IF (NTY.EQ.1) CALL PWRITX(X1(J),Y1(J),'"632"',5,15,0,0)
              IF (NTY.EQ.2) CALL PWRITX(X1(J),Y1(J),'"1246"',6,14,0,0)
              IF (NTY.EQ.3) CALL PWRITX(X1(J),Y1(J),'"531"',5,15,0,0)
              IF (NTY.EQ.4) CALL PWRITX(X1(J),Y1(J),'"1245"',6,15,0,0)
              IF (NTY.EQ.5) CALL PWRITX(X1(J),Y1(J),'"532"',5,15,0,0)
              IF (NTY.EQ.6) CALL PWRITX(X1(J),Y1(J),'"1253"',6,15,0,0)
              IF (NTY.EQ.7) CALL PWRITX(X1(J),Y1(J),'"47"',4,15,0,0)
              IF (NTY.EQ.8) CALL PWRITX(X1(J),Y1(J),'"1307"',6,15,0,0)
            END IF
         END DO
         IF ((I .EQ. 1) .OR. (I .EQ. 2)) CALL CURVE(X1,Y1,NPT(I))
      END DO
      CALL OPTN('COLOR','WHITE')
      CALL LABEL(1,ST,UMIN,UMAX,VMIN,VMAX,MJTKX,MJTKY,16,
     &    LTYP,LPOWX,LPOWY)
      CALL XLABEL1(XLAB,LPOWX)
      CALL YLABEL1(YLAB,LPOWY)
      RETURN
      END
C-------------------------------------------------------------------------
      SUBROUTINE HEADER1(TITLE)
      CHARACTER TITLE*72
C     
C     TO PLOT THE TITLE AND MAXIMUN CHARACTERS ARE 72           
C
      NT=LENCHAR(TITLE)
      CALL SET(0.1,0.9,0.93,1.0,0.0,60.0,0.0,2.0,1)
      CALL PWRITX(30.0,0.5,%REF(TITLE),NT,20,0,0)
      RETURN
      END
C-------------------------------------------------------------------------
      SUBROUTINE XLABEL1(XLAB,LPOWX)
      CHARACTER XLAB*72
C     
C     TO PLOT THE CAPTION X-DIRECTION AND 
C     MAXIMUN CHARACTERS ARE 72           
C
      NXC=LENCHAR(XLAB)
      CALL SET(0.1,0.95,0.07,0.15,0.0,60.0,0.0,2.0,1)
      CALL PWRITX(29.0,0.5,%REF(XLAB),NXC,17,0,0)
      IF (LPOWX.NE.0) THEN
         ENCODE(19,12,POW) LPOWX
         CALL PWRITX(56.0,0.5,%REF(POW),19,17,0,0)
      END IF
  12  FORMAT('  "137"10"S3"',I3,'"N"')
      RETURN
      END
C-------------------------------------------------------------------------
      SUBROUTINE YLABEL1(YLAB,LPOWY)
      CHARACTER YLAB*72
C     
C     TO PLOT THE CAPTION X-DIRECTION AND 
C     MAXIMUN CHARACTERS ARE 72           
C
      NYC=LENCHAR(YLAB)
      CALL SET(0.03,0.08,0.1,0.9,0.0,2.0,0.0,60.0,1)
      CALL PWRITX(0.5,29.0,%REF(YLAB),NYC,17,90,0)
      IF (LPOWY.NE.0) THEN
         ENCODE(19,12,POW) LPOWY
         CALL PWRITX(0.5,55.0,%REF(POW),19,17,90,0)
      END IF
  12  FORMAT('  "137"10"S3"',I3,'"N"')
      RETURN
      END 
C-------------------------------------------------------------------------
C-------------------------------------------------------------------------

Return to thesis table of contents.

Return to Voyager LECP Data Analysis Handbook Table of Contents.
Return to Fundamental Technologies Home Page.

Last modified 12/9/02, Tizby Hunt-Ward
tizby@ftecs.com