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
|
C
C
C +-----------------------------------------------------------------+
C | |
C | Copyright (C) 1986 by UCAR |
C | University Corporation for Atmospheric Research |
C | All Rights Reserved |
C | |
C | NCARGRAPHICS Version 1.00 |
C | |
C +-----------------------------------------------------------------+
C
C
C ---------------------------------------------------------------------
C
SUBROUTINE AGEZSU (ITOC,XDRA,YDRA,IDXY,MANY,NPTS,LABG,IIVX,IIEX,
+ IIVY,IIEY)
C
REAL XDRA(1),YDRA(1)
CHARACTER*(*) LABG
C
C The routine AGEZSU is used by the AUTOGRAPH routines EZY, EZXY, EZMY,
C EZMXY, and IDIOT to examine those parameters which are peculiar to the
C old version of AUTOGRAPH and to do the appropriate call to AGSTUP.
C The arguments are as follows:
C
C -- ITOC indicates which routine is calling AGEZSU, as follows:
C
C -- ITOC .EQ. 1 - call by EZY
C -- ITOC .EQ. 2 - call by EZXY
C -- ITOC .EQ. 3 - call by EZMY
C -- ITOC .EQ. 4 - call by EZMXY
C -- ITOC .EQ. 5 - call by IDIOT
C
C -- XDRA is an array of x-coordinate data.
C
C -- YDRA is an array of y-coordinate data.
C
C -- IDXY is the first dimension of YDRA.
C
C -- MANY is the number of curves defined by XDRA and YDRA.
C
C -- NPTS is the number of points per curve.
C
C -- LABG is a new header label (or the single character CHAR(0), if the
C header label is to be unchanged).
C
C -- IIVX, IIEX, IIVY, and IIEY are indexing controls for the x and y
C data arrays, computed and returned by AGEZSU for use in setting up
C calls to the routine AGCURV.
C
C Examine the frame-advance parameter. Do frame advance as appropriate.
C
CALL AGGETI ('FRAM.',IFRA)
IFRA=MAX0(1,MIN0(3,IFRA))
C
IF (IFRA.EQ.3) CALL FRAME
C
C Set up the header label.
C
IF (ICHAR(LABG(1:1)).NE.0) THEN
CALL AGSETC ('LABE/NAME.', 'T')
CALL AGSETI ('LINE/NUMB.', 100)
CALL AGSETC ('LINE/TEXT.',LABG)
END IF
C
C Set up the AGSTUP arguments defining the coordinate-data arrays.
C
CALL AGGETI ('ROW .',IROW)
IROW=MAX0(-2,MIN0(+2,IROW))
C
NVIY=MANY
IIVY=IDXY
NEVY=NPTS
IIEY=1
C
IF (IROW.LE.0.AND.ITOC.GE.3.AND.ITOC.LE.4) THEN
IIVY=1
IIEY=IDXY
END IF
C
NVIX=NVIY
IIVX=IIVY
NEVX=NEVY
IIEX=IIEY
C
IF (IABS(IROW).LE.1) THEN
NVIX=1
IIVX=0
NEVX=NPTS
IIEX=1
END IF
C
IF (ITOC.EQ.1.OR.ITOC.EQ.3) IIEX=0
C
C Do the AGSTUP call.
C
CALL AGSTUP (XDRA,NVIX,IIVX,NEVX,IIEX,YDRA,NVIY,IIVY,NEVY,IIEY)
C
C Done.
C
RETURN
C
END
|