diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /sys/gio/ncarutil/conbdn.f | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'sys/gio/ncarutil/conbdn.f')
-rw-r--r-- | sys/gio/ncarutil/conbdn.f | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/sys/gio/ncarutil/conbdn.f b/sys/gio/ncarutil/conbdn.f new file mode 100644 index 00000000..cd7ca00d --- /dev/null +++ b/sys/gio/ncarutil/conbdn.f @@ -0,0 +1,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 |