aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/conbdn.f
blob: cd7ca00d4383b4c52e16c65562e4f26e314efb9c (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
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 +noao: block data conbdn changed to run time initialization
c     BLOCKDATA CONBDN
      subroutine conbdn
C
C
C
C COMMON DATA
C
C NOTE THE COMMON BLOCKS LISTED INCLUDE ALL THE COMMON USED BY
C      THE ENTIRE CONRAN FAMILY, NOT ALL MEMBERS WILL USE ALL
C      THE COMMON DATA.
C
C   CONRA1
C       CL-ARRAY OF CONTOUR LEVELS
C       NCL-NUMBER OF CONTOUR LEVELS
C       OLDZ-Z VALUE OF LEFT NEIGHBOR TO CURRENT LOCATION
C       PV-ARRAY OF PREVIOUS ROW VALUES
C       HI-LARGEST CONTOUR PLOTTED
C       FLO-LOWEST CONTOUR PLOTTED
C       FINC-INCREMENT LEVEL BETWEEN EQUALLY SPACED CONTOURS
C   CONRA2
C       REPEAT-FLAG TO TRIANGULATE AND DRAW OR JUST DRAW
C       EXTRAP-PLOT DATA OUTSIDE OF CONVEX DATA HULL
C       PER-PUT PERIMETER ARROUND PLOT
C       MESS-FLAG TO INDICATE MESSAGE OUTPUT
C       ISCALE-SCALING SWITCH
C       LOOK-PLOT TRIANGLES FLAG
C       PLDVLS-PLOT THE DATA VALUES FLAG
C       GRD-PLOT GRID FLAG
C       CON-USER SET OR PROGRAM SET CONTOURS FLAG
C       CINC-USER OR PROGRAM SET INCREMENT FLAG
C       CHILO-USER OR PROGRAM SET HI LOW CONTOURS
C       LABON-FLAG TO CONTROL LABELING OF CONTOURS
C       PMIMX-FLAG TO CONTROL THE PLOTTING OF MIN"S
C               AND MAX"S
C       SCALE-THE SCALE FACTOR FOR CONTOUR LINE VALUES
C               AND MIN ,       MAX PLOTTED VALUES
C       FRADV-ADVANCE FRAME BEFORE PLOTTING TRIANGUALTION
C       EXTRI-ONLY PLOT TRIANGULATION
C       BPSIZ-BREAKPOINT SIZE FOR DASHPATTERNS
C       LISTOP-LIST OPTIONS ON UNIT6 FLAG
C   CONRA3
C       IREC-PORT RECOVERABLE ERROR FLAG
C   CONRA4
C       NCP-NUMBER OF DATA POINTS USED AT EACH POINT FOR
C           POLYNOMIAL CONSTRUCTION.
C       NCPSZ-MAX SIZE ALLOWED FOR NCP
C   CONRA5
C       NIT-FLAG TO INDICATE STATUS OF SEARCH DATA BASE
C       ITIPV-LAST TRIANGLE INTERPOLATION OCCURRED IN
C  CONRA6
C       XST-X COORDINATE START POINT FOR CONTOURING
C       YST-Y COORDINATE START POINT FOR CONTOURING
C       XED-X COORDINATE END POINT FOR CONTOURING
C       YED-Y COORDINATE END POINT FOR CONTOURING
C       STPSZ-STEP SIZE FOR X,Y CHANGE WHEN CONTOURING
C       IGRAD-NUMBER OF GRADUATIONS FOR CONTOURING(STEP SIZE)
C       IG-RESET VALUE FOR IGRAD
C       XRG-X RANGE OF COORDINATES
C       YRG-Y RANGE OF COORDINATES
C       BORD-PERCENT OF FRAME USED FOR CONTOUR PLOT
C       PXST-X PLOTTER START ADDRESS FOR CONTOURS
C       PYST-Y PLOTTER START ADDRESS FOR CONTOURS
C       PXED-X PLOTTER END ADDRESS FOR CONTOURS
C       PYED-Y PLOTTER END ADDRESS FOR CONTOURS
C       ITICK-NUMBER OF TICK MARKS FOR GRIDS AND PERIMETERS
C CONRA7
C       TITLE-SWITCH TO INDICATE IF TITLE OPTION ON OR OFF
C       ISTRNG-CHARACTER STRING OF TITLE
C       ICNT-CHARACTER COUNT OF ISTRNG
C       ITLSIZ-SIZE OF TITLE IN PWRIT UNITS
C CONRA8
C       IHIGH-DEFAULT COLOR (INTENSITY) INDEX SETTING
C       INMAJ-CONTOUR LEVEL COLOR (INTENSITY) INDEX FOR MAJOR LINES
C       INMIN-CONTOUR LEVEL COLOR (INTENSITY) INDEX FOR MINOR LINES
C       INLAB-TITLE AND MESSAGE COLOR (INTENSITY) INDEX
C       INDAT-DATA VALUE COLOR (INTENSITY) INDEX
C       FORM-THE FORMAT FOR PLOTTING THE DATA VALUES
C       LEN-THE NUMBER OF CHARACTERS IN THE FORMAT
C       IFMT-SIZE OF THE FORMAT FIELD
C       LEND-DEFAULT FORMAT LENGTH
C       IFMTD-DEFAULT FORMAT FIELD SIZE
C       ISIZEP-SIZE OF THE PLOTTED DATA VALUES
C  CONRA9
C       X-ARRAY OF X COORDINATES OF CONTOURS DRAWN AT CURRENT CONTOUR
C          LEVEL
C       Y-ARRAY OF Y COORDINATES OF CONTOURS DRAWN AT CURRENT CONTOUR
C          LEVEL
C       NP-COUNT IN X AND Y
C       MXXY-SIZE OF X AND Y
C       TR-TOP RIGHT CORNER VALUE OF CURRENT CELL
C       BR-BOTTOM RIGHT CORNER VALUE OF CURRENT CELL
C       TL-TOP LEFT CORNER VALUE OF CURRENT CELL
C       BL-BOTTOM LEFT CORNER VALUE OF CURRENT CELL
C       CONV-CURRENT CONTOUR VALUE
C       XN-X POSITION WHERE CONTOUR IS BEING DRAWN
C       YN-Y POSITION WHERE CONTOUR IS BEING DRAWN
C       ITLL-TRIANGLE WHERE TOP LEFT CORNER OF CURRENT CELL LIES
C       IBLL-TRIANGLE OF BOTTOM LEFT CORNER
C       ITRL-TRIANGLE OF TOP RIGHT CORNER
C       IBRL-TRIANGLE OF BOTTOM LEFT CORNER
C       XC-X COORDINATE OF CURRENT CELL
C       YC-Y CORRDINATE OF CURRENT CELL
C       ITLOC-IN CONJUNCTION WITH PV STORES THE TRIANGLE WHERE PV
C               VALUE CAME FROM
C CONR10
C       NT-NUMBER OF TRIANGLES GENERATED
C       NL-NUMBER OF LINE SEGMENTS
C       NTNL-NT+NL
C       JWIPT-POINTER INTO IWK WHERE WHERE TRIANGLE POINT NUMBERS
C               ARE STORED
C       JWIWL-IN IWK THE LOCATION OF A SCRATCH SPACE
C       JWIWP-IN IWK THE LOCATION OF A SCRATCH SPACE
C       JWIPL-IN IWK THE LOCATION OF END POINTS FOR BORDER LINE
C               SEGMENTS
C       IPR-IN WK THE LOCATION OF THE PARTIAL DERIVITIVES AT EACH
C           DATA POINT
C       ITPV-THE TRIANGLE WHERE THE PREVIOUS VALUE CAME FROM
C CONR11
C       NREP-NUMBER OF REPETITIONS OF DASH PATTERN BEFORE A LABEL
C       NCRT-NUMBER OF CRT UNITS FOR A DASH MARK OR BLANK
C       ISIZEL-SIZE OF CONTOUR LINE LABELS
C       NDASH-ARRAY CONTAINING THE NEGATIVE VALUED CONTOUR DASH
C               PATTERN
C       MINGAP-NUMBER OF UNLABELED LINES BETWEEN EACH LABELED ONE
C       IDASH-POSITIVE VALUED CONTOUR DASH PATTERN
C       ISIZEM-SIZE OF PLOTTED MINIMUMS AND MAXIMUMS
C       EDASH-EQUAL VALUED CONTOUR DASH PATTERN
C       TENS-DEFAULT TENSION SETTING FOR SMOOTHING
C CONR12
C       IXMAX,IYMAX-MAXINUM X AND Y COORDINATES RELATIVE TO THE
C                 SCRATCH ARRAY, SCRARR
C       XMAX,YMAX-MAXIMUM X AND Y COORDINATES RELATIVE TO USERS
C                 COORDINATE SPACE
C CONR13
C       XVS-ARRAY OF THE X COORD FOR SHIELDING
C       YVS-ARRAY OF THE Y COORD FOR SHIELDING
C       IXVST-POINTER (VIA LOC) TO THE USERS X ARRAY FOR SHIELDING
C       IYVST-POINTER (VIA LOC) TO THE USERS Y ARRAY FOR SHIELDING
C       ICOUNT-COUNT OF THE SHIELD ELEMENTS
C       SPVAL-SPECIAL VALUE USED TO HALT CONTOURING AT THE SHIELD
C               BOUNDRY
C       SHIELD-LOGICAL FLAG TO SIGNAL STATUS OF SHIELDING
C       SLDPLT-LOGICAL FLAG TO INDICTE STATUS OF SHIEDL PLOTTING
C CONR14
C       LINEAR-C1 LINAER INTERPOLATIN FLAG
C
C
      COMMON /CONRA1/ CL(30)     ,NCL        ,OLDZ    ,PV(210),
     1                FINC       ,HI         ,FLO
      COMMON /CONRA2/ REPEAT     ,EXTRAP     ,PER   ,MESS,
     1                ISCALE     ,LOOK           ,PLDVLS  ,GRD,
     2                CINC       ,CHILO         ,CON     ,LABON,
     3                PMIMX      ,SCALE          ,FRADV  ,EXTRI,
     4                BPSIZ      ,LISTOP
      COMMON /CONRA3/ IREC
      COMMON /CONRA4/ NCP        ,NCPSZ
      COMMON /CONRA5/ NIT        ,ITIPV
      COMMON /CONRA6/ XST        ,YST        ,XED        ,YED,
     1                STPSZ      ,IGRAD          ,IG     ,XRG,
     2                YRG        ,BORD       ,PXST       ,PYST,
     3                PXED       ,PYED       ,ITICK
      COMMON /CONRA7/ TITLE      ,ICNT   ,ITLSIZ
      COMMON /CONRA8/ IHIGH      ,INMAJ          ,INLAB  ,INDAT,
     1              LEN      ,IFMT       ,LEND       ,
     2                IFMTD      ,ISIZEP         ,INMIN
      COMMON /CONRA9/ ICOORD(500),NP              ,MXXY  ,TR,
     1                BR         ,TL               ,BL   ,CONV,
     2                XN         ,YN               ,ITLL      ,IBLL,
     3                ITRL       ,IBRL       ,XC         ,YC,
     4                ITLOC(210) ,JX              ,JY    ,ILOC ,
     5                ISHFCT     ,XO         ,YO         ,IOC    ,NC
      COMMON /CONR10/ NT         ,NL               ,NTNL       ,JWIPT,
     1                JWIWL      ,JWIWP          ,JWIPL  ,IPR  ,
     2                ITPV
      COMMON /CONR11/ NREP       ,NCRT       ,ISIZEL     ,
     1                MINGAP     ,ISIZEM         ,
     2                TENS
      COMMON /CONR12/ IXMAX      ,IYMAX          ,XMAX   ,YMAX
      LOGICAL         REPEAT       ,EXTRAP      ,PER     ,MESS,
     1                LOOK       ,PLDVLS        ,GRD     ,LABON,
     2                PMIMX      ,FRADV          ,EXTRI  ,CINC,
     3                TITLE      ,LISTOP         ,CHILO  ,CON
      COMMON /CONR13/XVS(50),YVS(50),ICOUNT,SPVAL,SHIELD,
     1               SLDPLT
      LOGICAL SHIELD,SLDPLT
      COMMON /CONR14/LINEAR
      LOGICAL LINEAR
      logical first
      COMMON /CONR15/ ISTRNG
        CHARACTER*64 ISTRNG
        COMMON /CONR16/ FORM
        CHARACTER*10 FORM
        COMMON /CONR17/ NDASH, IDASH, EDASH
        CHARACTER*10 NDASH, IDASH, EDASH
        COMMON /RANINT/ IRANMJ, IRANMN, IRANTX
        COMMON /RAQINT/ IRAQMJ, IRAQMN, IRAQTX
        COMMON /RASINT/ IRASMJ, IRASMN, IRASTX
C
        SAVE
C
C
c +noao:  parameter added to avoid clobbering initialization done
c by conop[1-4].  
        data first /.true./
        if (.not. first) return
        first = .false.
c -noao
C
c       DATA ICOUNT,SHIELD,SLDPLT,LINEAR/0,.FALSE.,.FALSE.,.FALSE./
        ICOUNT = 0
        SHIELD = .FALSE.
        SLDPLT = .FALSE.
        LINEAR = .FALSE.
c
c       DATA REPEAT,EXTRAP,PER/.FALSE.,.FALSE.,.TRUE./
        REPEAT = .FALSE.
        EXTRAP = .FALSE.
        PER = .TRUE.
c
c       DATA FRADV,EXTRI,BPSIZ/.TRUE.,.FALSE.,0.0/
        FRADV = .TRUE.
        EXTRI = .FALSE.
        BPSIZ = 0.0
c
c       DATA TITLE,MESS,LOOK/.FALSE.,.TRUE.,.FALSE./
        TITLE = .FALSE.
        MESS  = .TRUE.
        LOOK  = .FALSE.
c
c       DATA PLDVLS,GRD/.FALSE.,.FALSE./
        PLDVLS = .FALSE.
        GRD     = .FALSE.
c
c       DATA CON,CINC,CHILO/.FALSE.,.FALSE.,.FALSE./
        CON   = .FALSE.
        CINC  = .FALSE.
        CHILO = .FALSE.
c
c       DATA SCALE,PMIMX/1.,.FALSE./
        SCALE = 1.
        PMIMX = .FALSE.
c
c       DATA ISIZEP,ISIZEM,TENS/8,15,2.5/
        ISIZEP = 8
        ISIZEM = 15
        TENS    = 2.5
c
c       DATA INMAJ,INMIN,INLAB,INDAT/1, 1, 1, 1/
        INMAJ = 2
        INMIN = 1
        INLAB = 2
        INDAT = 1
c
c       DATA IRANMJ, IRANMN, IRANTX /1, 1, 1/
        IRANMJ = 2
        IRANMN = 1
        IRANTX = 1
c
c       DATA IRASMJ, IRASMN, IRASTX /1, 1, 1/
        IRASMJ = 2
        IRASMN = 1
        IRASTX = 1
c
c       DATA IRAQMJ, IRAQMN, IRAQTX /1, 1, 1/
        IRAQMJ = 2
        IRAQMN = 1
        IRAQTX = 1
c
c       DATA LABON/.TRUE./,LISTOP/.FALSE./
        LABON   = .TRUE.
        LISTOP = .FALSE.
c
c       DATA BORD,ITICK/.9,10/
        BORD  = .9
        ITICK = 10
c
c       DATA ISCALE,ITLSIZ/0,16/
        ISCALE = 0
        ITLSIZ = 16
c
c       DATA ITIPV,NIT,NCL/0,0,0/
        ITIPV = 0
        NIT   = 0
        NCL   = 0
c
c       DATA NCPSZ/25/
        NCPSZ = 25
c
c       DATA IHIGH/255/
        IHIGH = 255
c
c       DATA NCP /4/
        NCP  = 4
c
c       DATA IREC /1/
        IREC  = 1
c
c       DATA LEN,IFMT,LEND,IFMTD/0,0,7,10/
        LEN = 0
        IFMT = 0
        LEND = 7
        IFMTD = 10
c
c       DATA IGRAD,IG/40,40/
        IGRAD = 40
        IG    = 40
c
c       DATA NREP,NCRT,ISIZEL,MXXY,MINGAP/6,3,9,500,3/
        NREP = 6
        NCRT = 3
        ISIZEL = 9
        MXXY = 500
        MINGAP = 3
c
c       DATA IDASH(1:1)/' '/
        IDASH(1:1) = ' '
c
c       DATA NDASH(1:1)/' '/
        NDASH(1:1) = ' '
c
c       DATA EDASH(1:1)/' '/
        EDASH(1:1) = ' '
c
c       DATA ISHFCT/9/
        ISHFCT = 9
c
c - noao
      END