1SURF1(3NCARG)                    NCAR GRAPHICS                   SURF1(3NCARG)
2
3
4

NAME

6       SURF1 - calculate values for SURF2 usage.
7

SYNOPSIS

9       CALL SURF1 (M, N, X, Y, Z, IZ, ZX1, ZXM, ZY1, ZYN, ZXY11, ZXYM1, ZXY1N,
10       ZXYMN, ISLPSW, ZP, TEMP, SIGMA, IER)
11
12       This subroutine calculates certain values that are  used  by  SURF2  in
13       order to compute an interpolatory surface passing through a rectangular
14       grid of function values. The surface computed is a  tensor  product  of
15       splines  under  tension. To calculate actual interpolated values, SURF2
16       must be called.
17

DESCRIPTION

19       M           (integer, input) The number of grid lines in the  X  direc‐
20                   tion. (M > 1)
21
22       N           (integer,  input)  The number of grid lines in the Y direc‐
23                   tion. (N > 1)
24
25       X           (real, input) An array containing M X coordinates for  grid
26                   lines  in  the  X  direction. These values must be strictly
27                   increasing.
28
29       Y           (real, input) An array containing N Y coordinates for  grid
30                   lines  in  the  Y  direction. These values must be strictly
31                   increasing.
32
33       Z           (real, input) An array containing M x N  functional  values
34                   at the grid points; Z(I,J) contains the functional value at
35                   (X(I),Y(J)) for I=1,M and J=1,N.
36
37       IZ          (integer, input) The row dimension of the matrix Z  (IZ  is
38                   greater than or equal to M).
39
40       ZX1         (real,  input)  An array containing N X-partial derivatives
41                   of the function along the line X(1), that is ZX1(J) is  the
42                   X-partial  derivative  at point (X(1),Y(J)) for J=1,N. This
43                   parameter may be defaulted by setting ISLPSW appropriately.
44
45       ZXM         (real, input) An array containing N  X-partial  derivatives
46                   of  the function along the line X(M), that is ZXM(J) is the
47                   X-partial derivative at point (X(M),Y(J)) for  J=1,N.  This
48                   parameter may be defaulted by setting ISLPSW appropriately.
49
50       ZY1         (real,  input)  An array containing M Y-partial derivatives
51                   of the function along the line Y(1), that is ZY1(I) is  the
52                   Y-partial  derivative  at point (X(I),Y(1)) for I=1,M. This
53                   parameter may be defaulted by setting ISLPSW appropriately.
54
55       ZYN         (real, input) An array containing M  Y-partial  derivatives
56                   of  the function along the line Y(N), that is ZY1(I) is the
57                   Y-partial derivative at point (X(I),Y(N)) for  I=1,M.  This
58                   parameter may be defaulted by setting ISLPSW appropriately.
59
60       ZXY11       (real,  input)  The  X-Y-partial  derivative at (X(1),Y(1).
61                   This parameter may be defaulted by setting ISLPSW appropri‐
62                   ately.
63
64       ZXYM1       (real,  input)  The  X-Y-partial  derivative at (X(M),Y(1).
65                   This parameter may be defaulted by setting ISLPSW appropri‐
66                   ately.
67
68       ZXY1N       (real,  input)  The  X-Y-partial  derivative at (X(1),Y(N).
69                   This parameter may be defaulted by setting ISLPSW appropri‐
70                   ately.
71
72       ZXYMN       (real,  input)  The  X-Y-partial  derivative at (X(M),Y(N).
73                   This parameter may be defaulted by setting ISLPSW appropri‐
74                   ately.
75
76       ISLPSW      (integer, input) A switch to indicate which boundary deriv‐
77                   atives are user supplied  and  which  should  be  estimated
78                   internally. Where
79
80                   I1 = 0 if ZX1 is user-supplied and 1 otherwise.
81                   I2 = 0 if ZXM is user-supplied and 1 otherwise.
82                   I3 = 0 if ZY1 is user-supplied and 1 otherwise.
83                   I4 = 0 if ZYN is user-supplied and 1 otherwise.
84                   I5 = 0 if ZXY11 is user-supplied and 1 otherwise.
85                   I6 = 0 if ZXYM1 is user-supplied and 1 otherwise.
86                   I7 = 0 if ZXY1N is user-supplied and 1 otherwise.
87                   I8 = 0 if ZXYMN is user-supplied and 1 otherwise.
88
89                   set ISLPSW = I1 + 2*I2 + 4*I3 +8*I4 +16*I5 +32*I6 + 64*I7 +
90                   128*I8. Then, for example, if ISLPSW=0, then all derivative
91                   information  is  user-supplied  and if ISLPSW=255, then all
92                   derivative information is to be internally estimated.
93
94       ZP          (real, output) An array of size M x N x 3. On  output  this
95                   contains  partial  derivatives  of the surface at the given
96                   nodes. ZP is used by SURF2.
97
98       TEMP        (real, input) Scratch space.
99
100       SIGMA       (real, input) Tension factor. Values near zero result in  a
101                   cubic  spline;  large  values  (e.g. 50) result in nearly a
102                   polygonal line. A typical value is 1.
103
104       IER         (integer, output) An error return value. If IER is returned
105                   as 0, then no errors were detected.
106
107                   = 1 if N is less than 2.
108                   = 2 if X or Y values are not strictly increasing.
109

ACCESS

111       To use SURF1, load the NCAR Graphics library ngmath.
112

SEE ALSO

114       surf2, fitgrid_params.
115
116       Complete documentation for Fitgrid is available at URL
117       http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html
118
120       Copyright (C) 2000
121       University Corporation for Atmospheric Research
122
123       This  documentation  is  free  software; you can redistribute it and/or
124       modify it under the terms of the GNU General  Public  License  as  pub‐
125       lished  by  the  Free  Software  Foundation;  either  version  2 of the
126       License, or (at your option) any later version.
127
128       This software is distributed in the hope that it will  be  useful,  but
129       WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of MER‐
130       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
131       Public License for more details.
132
133       You should have received a copy of the GNU General Public License along
134       with this software; if not, write  to  the  Free  Software  Foundation,
135       Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
136
137
138
139
140UNIX                              March 1998                     SURF1(3NCARG)
Impressum