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