aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/tests/pwrzst.f
blob: 4067ed8600c90e69171a6906b2a93c63c255e194 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
SUBROUTINE TPWRZS	(IERROR)
C
C LATEST REVISION	 JULY, 1984
C
C PURPOSE		 TO PROVIDE A SIMPLE DEMONSTRATION OF
C			 PWRZS IN CONJUNCTION WITH SRFACE.
C
C USAGE			 CALL TPWRZS (IERROR)
C
C ARGUMENTS
C
C ON OUTPUT		 IERROR
C			   AN INTEGER VARIABLE
C			   = 0,	IF THE TEST WAS	SUCCESSFUL,
C			   = 1,	OTHERWISE
C
C I/O			 IF THE	TEST WAS SUCCESSFUL, THE MESSAGE
C
C			   PWRZS TEST SUCCESSFUL  . . .	 SEE PLOT
C			   TO VERIFY PERFORMANCE
C
C			 IS PRINTED ON UNIT 6.
C			 IN ADDITION, ONE FRAME	CONTAINING THE SAMPLE
C			 PLOT IS PRODUCED ON THE MACHINE GRAPHICS
C			 DEVICE.  IN ORDER TO DETERMINE	IF THE TEST
C			 WAS SUCCESSFUL, IT IS NECESSARY TO EXAMINE
C			 THIS PLOT.
C
C PRECISION		 SINGLE
C
C REQUIRED LIBRARY	 PWRZS,	SRFACE
C FILES
C
C LANGUAGE		 FORTRAN
C
C ALGORITHM		 A FUNCTION OF TWO VARIABLES IS	DEFINED, AND
C			 VALUES	OF THE FUNCTION	ON A TWO DIMENSIONAL
C			 RECTANGULAR GRID ARE STORED IN	AN ARRAY.  THIS
C			 SUBROUTINE CALLS  SRFACE  TO DRAW A SURFACE
C			 REPRESENTATION	OF THE ARRAY VALUES, AND THEN
C			 PWRZS IS CALLED THREE TIMES TO	LABEL THE
C			 FRONT,	SIDE, AND BACK OF THE PICTURE.
C
C PORTABILITY		 ANSI FORTRAN 77
C
C
      DIMENSION	      Z(20,30)	 ,X(20)	     ,Y(30)	 ,MM(20,30,2),
     1		      S(6)
C
C LOAD THE SRFACE COMMON BLOCK,	NEEDED TO SURPRESS NEWFM CALL
C
      COMMON /SRFIP1/ IFR	 ,ISTP	     ,IROTS	 ,IDRX	     ,
     1		      IDRY	 ,IDRZ	     ,IUPPER	 ,ISKIRT     ,
     2		      NCLA	 ,THETA	     ,HSKIRT	 ,CHI	     ,
     3		      CLO	 ,CINC	     ,ISPVAL
C
C SPECIFY COORDINATES FOR PLOT TITLES.	ON AN ABSTRACT GRID WHERE
C THE INTEGER COORDINATES RANGE	FROM 0.0 TO 1.0, THE VALUES  TX	AND
C TY  DEFINE THE CENTER	OF THE TITLE STRING.
C
      DATA TX/0.4375/, TY/0.9667/
C
C SPECIFY GRID LOOP INDICES, AND LINE OF SIGHT
C
      DATA M/20/, N/30/
      DATA S/4.,5.,3.,0.,0.,0./
C
C INITIALIZE ERROR PARAMETER
C
      IERROR = 1
C
C DEFINE FUNCTION VALUES AND STORE IN Z
C
      DO  10 I=1,M
	 X(I) =	-1.+FLOAT(I-1)/FLOAT(M-1)*2.
   10 CONTINUE
      DO  20 J=1,N
	 Y(J) =	-1.+FLOAT(J-1)/FLOAT(N-1)*2.
   20 CONTINUE
      DO  40 J=1,N
	 DO  30	I=1,M
	    Z(I,J) = EXP(-2.*SQRT(X(I)**2+Y(J)**2))
   30	 CONTINUE
   40 CONTINUE
C
C SET SRFACE PARAMETERS	TO SURPRESS FRAME CALL AND DRAW	CONTOURS
      call srfabd
C
      IFR = 0
      IDRZ = 1
C
C SELECT NORMALIZATION TRANS NUMBER 0
C
      CALL GSELNT (0)
C
C LABEL	THE PLOT
C
      CALL WTSTR (TX,TY,'DEMONSTRATION PLOT FOR PWRZS',2,0,0)
C
C DRAW SURFACE PLOT
C
      CALL SRFACE (X,Y,Z,MM,M,M,N,S,0.)
C
C PUT PWRZS LABELS ON PICTURE
C
      ISIZE = 35
      CALL PWRZS (0.,1.1,0.,'FRONT',5,ISIZE,-1,3,0)
      CALL PWRZS (1.1,0.,0.,'SIDE',4,ISIZE,2,-1,0)
      CALL PWRZS (0.,-1.1,.2,' BACK BACK BACK BACK BACK',25,ISIZE,-1,
     1		  3,0)
c     CALL NEWFM
C
      IERROR = 0
c     WRITE (6,1001)
C
C RESTORE SRFACE PARAMETERS TO DEFAULT
C
      IFR = 1
      IDRZ = 0
C
      RETURN
C
C
c1001 FORMAT ('	     PWRZS TEST	SUCCESSFUL',24X,
c    1	      'SEE PLOT	TO VERIFY PERFORMANCE')
C
      END