![]() |
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