|
Fundamental TechnologiesVoyager LECP Pages |
by Sheela Shodhan
**************************************************************************
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