1VVINIT(3NCARG) NCAR GRAPHICS VVINIT(3NCARG)
2
3
4
6 VVINIT - Performs initialization tasks required before VVECTR may be
7 called to plot a vector field, including copying array size information
8 into internal common block variables, establishing coordinate system
9 mappings and boundaries, determining the maximum and minimum vector
10 magnitudes and scalar array values, and, if required, setting up the
11 color threshold value array.
12
14 CALL VVINIT (U,LU,V,LV,P,LP,M,N,WRK,LW)
15
17 #include <ncarg/ncargC.h>
18
19 void c_vvinit(float *u, int lu, float *v, int lv,
20 float *p, int lp, int m, int n,
21 float *wrk, int lw)
22
24 U (REAL 2-dimensional array, dimensioned LU x n: n >= N,
25 input): By default, assumed to contain the first
26 dimensional Cartesian components of the vector field.
27 However, if PLR is non-zero, it is treated as containing
28 the vector magnitudes.
29
30 LU (INTEGER, input): Actual value of the first dimension of
31 array U.
32
33 V (REAL 2-dimensional array, dimensioned LV x n: n >= N,
34 input): By default, assumed to contain the second
35 dimensional Cartesian components of the vector field.
36 However, if PLR is non-zero, it is treated as containing
37 the vector angles.
38
39 LV (INTEGER, input): Actual value of the first dimension of
40 array V
41
42 P (REAL 2-dimensional array, dimensioned LP x n: n >= N,
43 input): Array of scalar data that may be used to color the
44 vectors. The grid points are assumed to coincide with the
45 grid points of the U and V arrays. Required only if CTV has
46 an absolute value of 2; otherwise this argument is ignored
47 and may be assigned a dummy value.
48
49 LP (INTEGER, input): Actual value of the first dimension of
50 array P
51
52 M (INTEGER, input): Number of contiguous elements along the
53 first dimensional axis containing data to be processed in
54 each of the arrays, U, V, and P (if used).
55
56 N (INTEGER, input): Number of contiguous elements along the
57 second dimensional axis containing data to be processed in
58 each of the arrays, U, V, and P (if used).
59
60 WRK (REAL, array dimensioned n: n >= LW, input/output): Work
61 array required only if the parameter VMD is set to a value
62 greater than 0.0. If required must be dimensioned greater
63 or equal to 2 * M * N. Otherwise may be set to a dummy
64 value.
65
66 LW (INTEGER, input): Assumed size of the array WRK. If the
67 parameter VMD is set to a value greater than 0.0, must be
68 set to a value less than or equal to the dimension of the
69 WRK array, but greater or equal to 2 * M * N. Otherwise,
70 this argument should be assigned the integer value 0.
71
73 The C-binding argument descriptions are the same as the FORTRAN
74 argument descriptions with the following exceptions:
75
76
77 lu The second dimension of u in the calling program.
78
79 lv The second dimension of v in the calling program.
80
81 lp The second dimension of p in the calling program.
82
83 m Number of contiguous elements along the second dimensional
84 axis containing data to be processed in each of the arrays,
85 u, v, and p (if used).
86
87 n Number of contiguous elements along the first dimensional
88 axis containing data to be processed in each of the arrays,
89 u, v, and p (if used).
90
92 Call VVINIT before the first invocation of VVECTR and again anytime you
93 modify the contents of the input data arrays. You may precede a VVINIT
94 call with any number of calls to the Vectors parameter setting routines
95 (VVSETC, VVSETI, or VVSETR). After the VVINIT call, you may still
96 change certain parameters before calling VVECTR. (Consult the
97 vectors_params man page for further information on this point.)
98
99 Set up the two vector component arrays prior to calling VVINIT. To
100 permit multiple purpose use of the array space, the VVINIT argument
101 list includes both the actual size and an assumed size for the first
102 dimension of each input array. Due to FORTRAN array ordering
103 conventions, only the assumed size needs to be specified for the second
104 dimension. (Note: when using the C bindings, mentally exchange all
105 references to first and second dimensions in this discussion.) The
106 arguments LU, LV, and LP contain the actual size of the first
107 dimensions of arrays U, V, and P respectively. Since the grid locations
108 for each of the data arrays are assumed to coincide, a single argument,
109 M, represents the assumed size of the first dimension for all the
110 arrays. Similarly, the argument, N, is the assumed size of the second
111 dimension. The only requirement for the actual second dimension size is
112 that it be greater than or equal to N for each array.
113
114 The array specified by the WRK argument and its associated size
115 specifier, LW, are used only when the parameter VMD (Vector Minimum
116 Distance) is given a value greater than 0.0. In this case, Vectors uses
117 the array to keep track of the location of each vector in NDC space so
118 that the distances between vectors can be compared. Based on these
119 comparisons, Vectors eliminates some vectors such that the remaining
120 vectors are separated by at least the specified distance. If VMD is
121 less than or equal to 0.0, you may assign an arbitrary dummy value to
122 WRK, but you should set LW to the integer value 0.
123
125 C-Binding usage is the same as FORTRAN usage discussed above if the
126 references to "first dimension" and "second dimension" are exchanged.
127
129 Use the ncargex command to see the following relevant examples: bnchmk,
130 fcover, ffex00, ffex01, ffex02, ffex05, stex02, stex03, vvex01, vvex02.
131
133 To use VVINIT or c_vvinit, load the NCAR Graphics libraries ncarg,
134 ncarg_gks, and ncarg_c, preferably in that order.
135
137 See the vectors man page for a description of all Vectors error
138 messages and/or informational messages.
139
141 Online: vectors, vectors_params, vvectr, vvgetc, vvgeti, vvgetr,
142 vvrset, vvsetc, vvseti, vvsetr, vvudmv, vvumxy, ncarg_cbind.
143
144 Hardcopy: NCAR Graphics Fundamentals, UNIX Version
145
147 Copyright (C) 1987-2009
148 University Corporation for Atmospheric Research
149 The use of this Software is governed by a License Agreement.
150
151
152
153UNIX April 1993 VVINIT(3NCARG)