1CPSPS1(3NCARG) NCAR GRAPHICS CPSPS1(3NCARG)
2
3
4
6 CPSPS1 - Interpolates from an array of data on a "sparse" rectangular
7 grid which is regularly spaced in X and Y to an array of data on a
8 "dense" rectangular grid and initializes contouring from the array on
9 the dense grid. (By a "sparse" grid is meant one whose dimensions are
10 smaller than one would like, so that contour lines constructed directly
11 on it are composed of long straight segments.) CPSPS1 may be viewed as
12 a data smoothing routine.
13
14 CPSPRS is an alternate name for the routine CPSPS1.
15
17 CALL CPSPS1 (ZSPS, KSPS, MSPS, NSPS, RWRK, LRWK, IWRK,
18 + LIWK, ZDAT, LZDT)
19
21 #include <ncarg/ncargC.h>
22
23 void c_cpsps1 (float *zsps, int ksps, int msps, int nsps,
24 float *rwrk, int lrwk, int *iwrk, int liwk, float *zdat,
25 int lzdt)
26
28 ZSPS (REAL array, dimensioned KSPS x n, where "n" is greater
29 than or equal to NSPS, input) is the "sparse" array of
30 data, from which the "dense" array is to be generated.
31
32 KSPS (INTEGER, input) is the first dimension of the array ZSPS.
33
34 MSPS (INTEGER, input) is the first dimension of the "sparse"
35 array of data in ZSPS. MSPS must be less than or equal to
36 KSPS.
37
38 NSPS (INTEGER, input) is the second dimension of the "sparse"
39 array of data in ZSPS. NSPS must be less than or equal to
40 the declared second dimension of the array ZSPS.
41
42 RWRK (REAL array, dimensioned LRWK, input/output) is the real
43 work array.
44
45 LRWK (INTEGER, input) is the length of RWRK.
46
47 IWRK (INTEGER array, dimensioned LIWK, input/output) is the
48 integer work array.
49
50 LIWK (INTEGER, input) is the length of IWRK.
51
52 ZDAT (REAL array, dimensioned LZDT, output) is the array in
53 which the interpolated "dense" array of data is to be
54 returned. The dimensions of the interpolated array may be
55 supplied by the user or determined by Conpack, depending on
56 the value of the parameter 'ZDS'. Note that, if the size of
57 the dense array is not a product of the size of the sparse
58 array and some perfect square, the aspect ratio of the
59 dense grid may be slightly different from that of the
60 sparse grid.
61
62 LZDT (INTEGER, input) is the length of ZDAT.
63
65 The C-binding argument descriptions are the same as the FORTRAN
66 argument descriptions with the following exceptions:
67
68 zsps(l,ksps)
69 Dimensioned l by ksps, where l ≥ nsps.
70
71 ksps The second dimension of the array zsps.
72
73 msps The second dimension of the sparse array of data in zsps.
74 msps ≤ ksps.
75
76 nsps The first dimension of the sparse array of data in zsps.
77 nsps ≤ l, where l is the declared first dimension of the
78 array zsps.
79
81 CPSPS1 performs the same functions as CPRECT, but, in addition, it
82 interpolates from a sparse array of data to a dense array of data.
83 CPSPS1 does this by using the routines BSURF1 and BSURF2, from the
84 package Fitpack, by Alan K. Cline, to fit bicubic splines under tension
85 to the sparse array of data and to compute the dense grid of data that
86 is returned to you. The tension on the spline surfaces is specified by
87 the parameter 'T3D'. By default, CPSPS1 selects the dimensions of the
88 dense array of data; if desired, you can specify these dimensions by
89 setting the parameter 'ZDS' non-zero and the parameters 'ZD1', 'ZDM',
90 and 'ZDN' to the desired values. In either case, once 'ZD1', 'ZDM', and
91 'ZDN' are set, they should not be reset by you until the contour plot
92 is complete and a different contour plot is to be drawn.
93
94 Because the routines BSURF1 and BSURF2 do not have a built-in special
95 value feature, if the special value parameter 'SPV' is set non-zero and
96 the sparse array contains occurrences of that value, special action
97 must be taken. The indices of the special values in the sparse array
98 are saved in a part of the integer workspace array; the special values
99 are then replaced by values interpolated from adjacent grid points and
100 the resulting array is used to obtain the dense array; then, the
101 special values in the sparse array are restored and the corresponding
102 elements of the dense array are also given the special value.
103
105 To use CPSPS1 or c_cpsps1, load the NCAR Graphics libraries ncarg,
106 ncarg_gks, and ncarg_c, preferably in that order.
107
109 See the conpack man page for a description of all Conpack error
110 messages and/or informational messages.
111
113 Online: conpack, cpback, cpchcf, cpchcl, cpchhl, cpchil, cpchll,
114 cpcica, cpclam, cpcldm, cpcldr, cpcltr, cpcnrc, cpdrpl, cpezct, cpgetc,
115 cpgeti, cpgetr, cplbam, cplbdr, cpmpxy, cpmviw, cpmvrw, cppkcl, cppklb,
116 cprect, cprset, cpscae, cpsetc, cpseti, cpsetr, cpsps2, ncarg_cbind
117
118 Hardcopy: NCAR Graphics Contouring and Mapping Tutorial
119
121 Copyright (C) 1987-2009
122 University Corporation for Atmospheric Research
123
124 The use of this Software is governed by a License Agreement.
125
126
127
128UNIX March 1993 CPSPS1(3NCARG)