aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/tests/conrcsprt.f
blob: 484d1ccca2adb546429501aeef8e2ef6d4b60146 (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
SUBROUTINE TCNSUP	(IERROR)
C
C LATEST REVISION	 JUNE 1984
C
C PURPOSE		 TO PROVIDE A SIMPLE DEMONSTRATION OF
C			 CONRECSUPR AND	TO TEST	CONRECSUPR ON A	SINGLE
C			 PROBLEM
C
C USAGE			 CALL TCNSUP (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 IS	SUCCESSFUL, THE	MESSAGE
C
C			   CONRECSUPR TEST SUCCESSFUL  . . . SEE PLOT TO
C			   VERIFY PERFORMANCE
C
C			 IS PRINTED ON UNIT 6.
C			 IN ADDITION, TWO FRAMES CONTAINING THE	CONTOUR
C			 PLOT ARE PRODUCED ON THE MACHINE GRAPHICS
C			 DEVICE.  IN ORDER TO DETERMINE	IF THE TEST
C			 WAS SUCCESSFUL, IT IS NECESSARY TO EXAMINE
C			 THESE PLOTS.
C
C PRECISION		 SINGLE
C
C LANGUAGE		 FORTRAN
C
C ALGORITHM		 THE FUNCTION
C			   Z(X,Y) = X +	Y + 1./((X-.1)**2+Y**2+.09)
C				    -1./((X+.1)**2+Y**2+.09)
C			 FOR X = -1. TO	+1. IN INCREMENTS OF .1	AND
C			     Y = -1.2 TO +1.2 IN INCREMENTS OF .1
C			 IS COMPUTED.
C			 TCNSUP	CALLS SUBROUTINES EZCNTR, CONREC, AND
C			 WTSTR TO DRAW TWO LABELLED CONTOUR PLOTS OF THE
C			 ARRAY Z.
C
C PORTABILITY		 ANSI FORTRAN77
C
C Z CONTAINS THE VALUES	TO BE PLOTTED.
C
      REAL	      Z(21,25)
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 TY
C DEFINE THE CENTER OF THE TITLE STRING.
C
      DATA TX/0.4219/, TY/0.9765/
C
C
C INITIALIZE ERROR PARAMETER
C
      IERROR = 0
C
C FILL TWO DIMENSIONAL ARRAY TO	BE PLOTTED
C
      DO  20 I=1,21
	 X = .1*FLOAT(I-11)
	 DO  10	J=1,25
	    Y =	.1*FLOAT(J-13)
	    Z(I,J) = X+Y+1./((X-.10)**2+Y**2+.09)-
     1		     1./((X+.10)**2+Y**2+.09)
   10	 CONTINUE
   20 CONTINUE
C
C SELECT NORMALIZATION TRANS NUMBER 0
C
      CALL GSELNT (0)
C
C ENTRY	EZCNTR REQUIRES	ONLY THE ARRAY NAME AND	ITS DIMENSIONS
C
C THE TITLE FOR	THIS PLOT IS
C
C  DEMONSTRATION PLOT FOR EZCNTR ENTRY OF CONRECSUPR
C
      CALL WTSTR (TX,TY,
     1		 'DEMONSTRATION	PLOT FOR EZCNTR	ENTRY OF CONRECSUPR',
     2		 2,0,0)
      CALL EZCNTR (Z,21,25)
C
C
C ENTRY	CONREC ALLOWS USER SPECIFICATION OF PLOT PARAMETERS, IF	DESIRED
C
C IN THIS EXAMPLE, THE LOWEST CONTOUR LEVEL (-4.5), THE	HIGHEST	CONTOUR
C LEVEL	(4.5), AND THE INCREMENT BETWEEN CONTOUR LEVELS	(0.3) ARE
C SPECIFIED.  ALSO THE LABELLING OF THE	HIGHS AND LOWS IS SUPRESSED.
C
C THE TITLE FOR	THIS PLOT IS
C
C  DEMONSTRATION PLOT FOR CONREC ENTRY OF CONRECSUPR
C
      CALL WTSTR (TX,TY,
     1		 'DEMONSTRATION	PLOT FOR CONREC	ENTRY OF CONRECSUPR',
     2		 2,0,0)
      CALL CONREC (Z,21,21,25,-4.5,4.5,.3,0,-1,0)
      CALL NEWFM
C
      WRITE (6,1001)
      RETURN
C
 1001 FORMAT ('	CONRECSUPR TEST	SUCCESSFUL',24X,
     1	      'SEE PLOT	TO VERIFY PERFORMANCE')
C
      END