home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / thinwire / asaps / asap.for < prev    next >
Text File  |  1996-06-30  |  248KB  |  3,026 lines

  1.       DIMENSION X(60), Y(60), Z(60), XG(60), YG(60), ZG(60)             ASA00010
  2.       DIMENSION I1(60), I2(60), I3(60), JA(60), JB(60), KFLAG(30)       ASA00020
  3.       DIMENSION CPHI(500), CTHET(500)                                   ASA00030
  4.       DIMENSION DATY1(360), DATY2(360), DATY3(360), DATY4(360)          ASA00040
  5.       DIMENSION D(50), IA(50), IB(50), ISC(50), MD(50,4), ND(50)        ASA00050
  6.       DIMENSION LZD(60), KGEN(60)                                       ASA00060
  7.       COMMON IWL                                                        ASA00070
  8.       DIMENSION XNP(50), YNP(50), ZNP(50)                               ASA00080
  9.       COMPLEX C(1830)                                                   ASA00090
  10.       COMPLEX CDAT1(500),CDAT2(500),CDAT3(500),CDAT4(500)               ASA00100
  11.       COMPLEX CJ(60),EP(60),EPP(60),ET(60),ETT(60)                      ASA00110
  12.       COMPLEX CGD(50),SGD(60),CG(100),VG(100),ZLD(100)                  ASA00120
  13.       COMPLEX VOLT(60),ZLLD(60)                                         ASA00130
  14.       COMPLEX EPPS,EPTS,ETPS,ETTS,EX,EY,EZ                              ASA00140
  15.       COMPLEX EP2,EP3,EP4,ERR,ETA,GAM,Y11,Z11,ZS                        ASA00150
  16.       DATA PI,TP/3.14159,6.28318/                                       ASA00160
  17.       DATA E0,U0/8.854E-12,1.2566E-6/                                   ASA00170
  18.     1 NGEN = -1                                                         ASA00180
  19.       IGRD = -1                                                         ASA00190
  20.       LOAD = -1                                                         ASA00200
  21.       BM = -1                                                           ASA00210
  22.       ICARD = 0                                                         ASA00220
  23.       AM = -1                                                           ASA00230
  24.       IFLAG = 0                                                         ASA00240
  25.       VOLT(1) = (1.,0.)                                                 ASA00250
  26.       HGT = 0.                                                          ASA00260
  27.       NM = 0                                                            ASA00270
  28.       NP = 0                                                            ASA00280
  29.       MSG = 0                                                           ASA00290
  30.       SIG2 = -1.                                                        ASA00300
  31.       TD2 = -1.                                                         ASA00310
  32.       SIG3 = -1                                                         ASA00320
  33.       ER3 = 1                                                           ASA00330
  34.       TD3 = 0.                                                          ASA00340
  35.       CMM = 50.                                                         ASA00350
  36.       ER2 = 1.                                                          ASA00360
  37.       FMC = 300.                                                        ASA00370
  38.       INM = 50                                                          ASA00380
  39.       ICJ = 60                                                          ASA00390
  40.       WRITE (6,74)                                                      ASA00400
  41. C                                                                       ASA00410
  42.       DO 2 I=1,30                                                       ASA00420
  43.     2 KFLAG(I) = -1                                                     ASA00430
  44. C                                                                       ASA00440
  45. C                                                                       ASA00450
  46.       DO 3 J=1,INM                                                      ASA00460
  47.       ISC(J) = 0                                                        ASA00470
  48.       VG(J) = (.0,.0)                                                   ASA00480
  49.       ZLD(J) = (.0,.0)                                                  ASA00490
  50.       JJ = J+INM                                                        ASA00500
  51.       VG(JJ) = (.0,.0)                                                  ASA00510
  52.     3 ZLD(JJ) = (.0,.0)                                                 ASA00520
  53. C                                                                       ASA00530
  54.     4 NFFP = 0                                                          ASA00540
  55.       NBIP = 0                                                          ASA00550
  56.       NBAP = 0                                                          ASA00560
  57.       AFFP = 1000.                                                      ASA00570
  58.       AFFT = 1000.                                                      ASA00580
  59.       ABIP = 1000.                                                      ASA00590
  60.       ABIT = 1000.                                                      ASA00600
  61.       ABAP = 1000.                                                      ASA00610
  62.       ABAT = 1000.                                                      ASA00620
  63.       STEP = 1.                                                         ASA00630
  64.       KNM = 0                                                           ASA00640
  65.       CALL READ (IA,IB,IBISC,ICARD,IGAIN,IGRD,INEAR,INT,ISCAT,IWR,IFLAG,ASA00650
  66.      1KFLAG,KGEN,LOAD,LZD,MSG,NBAP,NBIP,NFFP,NGEN,NM,NP,ABAP,ABAT,AFFP,AASA00660
  67.      2FFT,ABIP,ABIT,AM,BM,CMM,ER2,ER3,ER4,FMC,HGT,PHAF,PHAI,PHIF,PHII,PHASA00670
  68.      3SF,PHSI,THAF,THAI,THIF,THII,THSF,THSI,SIG2,SIG3,SIG4,TD2,TD3,VOLT,ASA00680
  69.      4X,XNP,Y,YNP,Z,ZLLD,ZNP,STEP)                                      ASA00690
  70.       WRITE (6,56)                                                      ASA00700
  71.       IF (MSG.LT.1) GO TO 5                                             ASA00710
  72.       IF (MSG.EQ.1) WRITE (6,70) KFLAG(30)                              ASA00720
  73.       IF (IFLAG.EQ.4) GO TO 1                                           ASA00730
  74.     5 IF (IFLAG.EQ.5) STOP                                              ASA00740
  75.       IF (AM.LT.0) WRITE (6,127)                                        ASA00750
  76.       IF (AM.LT.0) GO TO 6                                              ASA00760
  77.       IF ((NM.GT.0).AND.(NP.GT.0)) GO TO 7                              ASA00770
  78.       WRITE (6,116)                                                     ASA00780
  79.     6 IF (IFLAG.EQ.1) GO TO 1                                           ASA00790
  80.       MSG = 2                                                           ASA00800
  81.       GO TO 4                                                           ASA00810
  82.     7 WRITE (6,114)                                                     ASA00820
  83.       WRITE (6,113)                                                     ASA00830
  84.       WRITE (6,112)                                                     ASA00840
  85.       IF (KFLAG(1).EQ.1) WRITE (6,83) FMC                               ASA00850
  86.       IF (KFLAG(2).EQ.1) WRITE (6,84) AM                                ASA00860
  87.       IF (KFLAG(3).EQ.1) WRITE (6,85) CMM                               ASA00870
  88.       IF (KFLAG(20).NE.1) WRITE (6,87)                                  ASA00880
  89.       IF (KFLAG(4).EQ.1) WRITE (6,86)                                   ASA00890
  90.       IF (KFLAG(4).EQ.1) WRITE (6,88) BM                                ASA00900
  91.       IF (KFLAG(5).EQ.1) WRITE (6,89) SIG2                              ASA00910
  92.       IF (KFLAG(6).EQ.1) WRITE (6,90) ER2                               ASA00920
  93.       IF (KFLAG(7).EQ.1) WRITE (6,91) TD2                               ASA00930
  94.       IF (KFLAG(8).NE.1) WRITE (6,92)                                   ASA00940
  95.       IF (KFLAG(9).EQ.1) WRITE (6,93) SIG3                              ASA00950
  96.       IF (KFLAG(10).EQ.1) WRITE (6,94) ER3                              ASA00960
  97.       IF (KFLAG(11).EQ.1) WRITE (6,95) TD3                              ASA00970
  98.       IF (KFLAG(26).NE.1) WRITE (6,122)                                 ASA00980
  99.       IF ((IGRD.GT.1).AND.(KFLAG(25).EQ.1)) WRITE (6,123)               ASA00990
  100.       IF ((IGRD.EQ.1).AND.(KFLAG(25).EQ.1)) WRITE (6,125)               ASA01000
  101.       IF ((IGRD.GT.1).AND.(KFLAG(25).EQ.1)) WRITE (6,124) ER4,SIG4      ASA01010
  102.       IF ((IGRD.GT.0).AND.(KFLAG(25).EQ.1)) WRITE (6,126) HGT           ASA01020
  103.       IF (KFLAG(21).EQ.1) WRITE (6,121) INT                             ASA01030
  104.       WRITE (6,111)                                                     ASA01040
  105.       IF (KFLAG(12).EQ.1) WRITE (6,96) (I,IA(I),X(IA(I)),Y(IA(I)),Z(IA(IASA01050
  106.      1)),IB(I),X(IB(I)),Y(IB(I)),Z(IB(I)),I=1,NM)                       ASA01060
  107.       WRITE (6,111)                                                     ASA01070
  108.       IF (KFLAG(24).GT.0) WRITE (6,119) (LZD(I),ZLLD(I),I=1,LOAD)       ASA01080
  109.       IF (KFLAG(14).GT.0) WRITE (6,118) (LZD(I),ZLLD(I),I=1,LOAD)       ASA01090
  110.       WRITE (6,111)                                                     ASA01100
  111.       IF (KFLAG(23).GT.0) WRITE (6,120) (KGEN(I),VOLT(I),I=1,NGEN)      ASA01110
  112.       IF (KFLAG(13).GT.0) WRITE (6,97) (KGEN(I),VOLT(I),I=1,NGEN)       ASA01120
  113.       WRITE (6,111)                                                     ASA01130
  114.       WRITE (6,114)                                                     ASA01140
  115.       WRITE (6,98)                                                      ASA01150
  116.       WRITE (6,112)                                                     ASA01160
  117.       IF (KFLAG(22).NE.1) WRITE (6,110)                                 ASA01170
  118.       IF (KFLAG(15).EQ.1) WRITE (6,99)                                  ASA01180
  119.       IF (KFLAG(16).EQ.1) WRITE (6,100) PHAI,PHAF,THAI,THAF,STEP        ASA01190
  120.       IF (KFLAG(17).EQ.1) WRITE (6,101) PHII,PHIF,THII,THIF,STEP        ASA01200
  121.       IF (KFLAG(18).EQ.1) WRITE (6,102) PHSI,PHSF,THSI,THSF,STEP        ASA01210
  122.       IF (KFLAG(19).EQ.1) WRITE (6,103) (XNP(I),YNP(I),ZNP(I),I=1,INEAR)ASA01220
  123.       IF (AFFP.LT.500.) WRITE (6,105) AFFP                              ASA01230
  124.       IF (AFFT.LT.500.) WRITE (6,104) AFFT                              ASA01240
  125.       IF (ABAP.LT.500.) WRITE (6,109) ABAP                              ASA01250
  126.       IF (ABAT.LT.500.) WRITE (6,108) ABAT                              ASA01260
  127.       IF (ABIP.LT.500.) WRITE (6,107) ABIP                              ASA01270
  128.       IF (ABIT.LT.500.) WRITE (6,106) ABIT                              ASA01280
  129.       IF ((IBISC.GT.0).AND.(ISCAT.LT.0)) WRITE (6,73)                   ASA01290
  130.       IF (KFLAG(4).LT.1) GO TO 129                                      ASA01300
  131.       DO 128 I=1,INM                                                    ASA01310
  132.   128 ISC(I)=1                                                          ASA01320
  133.   129 FHZ=FMC*1.E6                                                      ASA01330
  134.       OMEGA = TP*FHZ                                                    ASA01340
  135.       IF (SIG2.LT.0.) EP2=ER2*E0*CMPLX(1.,-TD2)                         ASA01350
  136.       IF (TD2.LT.0.) EP2 = CMPLX(ER2*E0,-SIG2/OMEGA)                    ASA01360
  137.       IF (SIG3.LT.0.) EP3=ER3*E0*CMPLX(1.,-TD3)                         ASA01370
  138.       IF (TD3.LT.0.) EP3 = CMPLX(ER3*E0,-SIG3/OMEGA)                    ASA01380
  139.       IF (IGRD.GT.1) EP4 = CMPLX(ER4*E0,-SIG4/OMEGA)                    ASA01390
  140.       IF (IGRD.GT.1) ERR = EP4/EP3                                      ASA01400
  141.       IF (KFLAG(21).GT.0) WRITE (6,121) INT                             ASA01410
  142.       ETA = CSQRT(U0/EP3)                                               ASA01420
  143.       GAM = OMEGA*CSQRT(-U0*EP3)                                        ASA01430
  144.       IF (KFLAG(12).NE.1) GO TO 9                                       ASA01440
  145.       NPG = NP                                                          ASA01450
  146.       NMG = NM                                                          ASA01460
  147. C                                                                       ASA01470
  148.       DO 8 I=1,NPG                                                      ASA01480
  149.       XG(I) = X(I)                                                      ASA01490
  150.       YG(I) = Y(I)                                                      ASA01500
  151.     8 ZG(I) = Z(I)                                                      ASA01510
  152. C                                                                       ASA01520
  153. C                                                                       ASA01530
  154.     9 DO 10 I=1,NPG                                                     ASA01540
  155.       X(I) = XG(I)                                                      ASA01550
  156.       Y(I) = YG(I)                                                      ASA01560
  157.    10 Z(I) = ZG(I)                                                      ASA01570
  158. C                                                                       ASA01580
  159.       NP = NPG                                                          ASA01590
  160.       NM = NMG                                                          ASA01600
  161.       IWL = 0                                                           ASA01610
  162.       IF (IGRD.LE.0) GO TO 15                                           ASA01620
  163. C     SET UP IMAGE FOR GROUND PLANE                                     ASA01630
  164.       ZMIN = Z(1)                                                       ASA01640
  165.       K = 0                                                             ASA01650
  166. C                                                                       ASA01660
  167.       IF (Z(I).LT.ZMIN) ZMIN=Z(I)                                       ASA01670
  168.       DO 11 I=1,NP                                                      ASA01680
  169.       Z(I) = Z(I)+HGT                                                   ASA01690
  170.       IF (Z(I).GT.1.E-60) GO TO 11                                      ASA01700
  171.       IWL = IWL+1                                                       ASA01710
  172.    11 CONTINUE                                                          ASA01720
  173. C                                                                       ASA01730
  174.       IF (ZMIN.GE.0.0) GO TO 12                                         ASA01740
  175.       WRITE (6,117)                                                     ASA01750
  176.       IF (IFLAG.EQ.1) GO TO 1                                           ASA01760
  177.       IF (IFLAG.EQ.2) STOP                                              ASA01770
  178.       MSG = 2                                                           ASA01780
  179.       GO TO 4                                                           ASA01790
  180. C                                                                       ASA01800
  181.    12 DO 13 J=1,NM                                                      ASA01810
  182.       K = J+NM                                                          ASA01820
  183.       IA(K) = IA(J)                                                     ASA01830
  184.       IF (IA(J).GT.IWL) IA(K)=IA(J)+NP-IWL                              ASA01840
  185.    13 IB(K) = IB(J)+NP-IWL                                              ASA01850
  186. C                                                                       ASA01860
  187.       IWLP = IWL+1                                                      ASA01870
  188. C                                                                       ASA01880
  189.       DO 14 I=IWLP,NP                                                   ASA01890
  190.       J = I+NP-IWL                                                      ASA01900
  191.       X(J) = X(I)                                                       ASA01910
  192.       Y(J) = Y(I)                                                       ASA01920
  193.    14 Z(J) = -Z(I)                                                      ASA01930
  194. C                                                                       ASA01940
  195.       KNM = NM+1                                                        ASA01950
  196.       NM = 2*NM                                                         ASA01960
  197.       NP = 2*NP-IWL                                                     ASA01970
  198.    15 CALL SORT (IA,IB,I1,I2,I3,JA,JB,MD,ND,NM,NP,N,MAX,MIN,ICJ,INM)    ASA01980
  199.       IF (MAX.LE.4) GO TO 16                                            ASA01990
  200.       WRITE (6,71)                                                      ASA02000
  201.       IF (IFLAG.EQ.1) GO TO 1                                           ASA02010
  202.       IF (IFLAG.EQ.2) STOP                                              ASA02020
  203.       MSG = 2                                                           ASA02030
  204.       GO TO 4                                                           ASA02040
  205.    16 IF (MIN.GE.1) GO TO 17                                            ASA02050
  206.       WRITE (6,72)                                                      ASA02060
  207.       IF (IFLAG.EQ.1) GO TO 1                                           ASA02070
  208.       IF (IFLAG.EQ.2) STOP                                              ASA02080
  209.       MSG = 2                                                           ASA02090
  210.       GO TO 4                                                           ASA02100
  211.    17 WRITE (6,56)                                                      ASA02110
  212.       IF (MAX.GT.4.OR.MIN.LT.1.OR.N.GT.ICJ) GO TO 54                    ASA02120
  213.       I12 = 1                                                           ASA02130
  214.       IF (LOAD.GT.0) GO TO 19                                           ASA02140
  215. C                                                                       ASA02150
  216.       DO 18 I=1,NM                                                      ASA02160
  217.    18 ZLD(I) = (0.,0.)                                                  ASA02170
  218. C                                                                       ASA02180
  219.    19 IF (NGEN.GT.0) GO TO 21                                           ASA02190
  220. C                                                                       ASA02200
  221.       DO 20 I=1,NM                                                      ASA02210
  222.    20 VG(I) = (0.,0.)                                                   ASA02220
  223. C                                                                       ASA02230
  224.    21 KN = NM                                                           ASA02240
  225.       IF (IGRD.GT.0) KN = NM/2                                          ASA02250
  226.       J = 1                                                             ASA02260
  227. C     ANTENNA CALCULATIONS                                              ASA02270
  228.       IF (LOAD.LE.0) GO TO 24                                           ASA02280
  229.       IF (KFLAG(24).GT.0) GO TO 22                                      ASA02290
  230. C                                                                       ASA02300
  231.       DO 23 J=1,KN                                                      ASA02310
  232. C                                                                       ASA02320
  233.    22 DO 23 I=1,LOAD                                                    ASA02330
  234.       K = LZD(I)                                                        ASA02340
  235.       IF ((IA(J).EQ.K).AND.(KFLAG(14).GT.0)) ZLD(J)=ZLLD(I)             ASA02350
  236.       IF (KFLAG(24).GT.0) ZLD(K)=ZLLD(I)                                ASA02360
  237.       IF ((KFLAG(14).GT.0).AND.(IGRD.GT.0)) ZLD(J+KN)=ZLD(J)            ASA02370
  238.       IF ((KFLAG(24).GT.0).AND.(IGRD.GT.0)) ZLD(K+KN)=ZLD(K)            ASA02380
  239.    23 CONTINUE                                                          ASA02390
  240. C                                                                       ASA02400
  241.    24 IF (NGEN.LT.0) GO TO 27                                           ASA02410
  242.       KN = NM                                                           ASA02420
  243.       IF (IGRD.GT.0) KN = NM/2                                          ASA02430
  244.       IF (KFLAG(23).GT.0) GO TO 25                                      ASA02440
  245. C                                                                       ASA02450
  246.       DO 26 J=1,KN                                                      ASA02460
  247. C                                                                       ASA02470
  248.    25 DO 26 I=1,NGEN                                                    ASA02480
  249.       K = KGEN(I)                                                       ASA02490
  250.       IF ((IA(J).EQ.K).AND.(KFLAG(13).GT.0)) VG(J)=VOLT(I)              ASA02500
  251.       IF (KFLAG(23).GT.0) VG(K)=VOLT(I)                                 ASA02510
  252.       IF ((KFLAG(13).GT.0).AND.(IGRD.GT.0)) VG(J+KN)=-VG(J)             ASA02520
  253.       IF ((IGRD.GT.0).AND.(KFLAG(23).GT.0))VG(K+KN)=-VG(K)              ASA02530
  254.    26 CONTINUE                                                          ASA02540
  255. C                                                                       ASA02550
  256.    27 CALL SGANT (IA,IB,INM,INT,ISC,I1,I2,I3,JA,JB,MD,N,ND,NM,NP,AM,BM,CASA02560
  257.      1,CGD,CMM,D,EP2,EP3,ETA,FHZ,GAM,SGD,X,Y,Z,ZLD,ZS,ERR,IGRD)         ASA02570
  258.       IF (N.GT.0) GO TO 28                                              ASA02580
  259.       IF (IFLAG.EQ.2) STOP                                              ASA02590
  260.       MSG = 2                                                           ASA02600
  261.       IF (IFLAG.EQ.1) GO TO 1                                           ASA02610
  262.       GO TO 4                                                           ASA02620
  263.    28 IF (NGEN.LE.0) GO TO 36                                           ASA02630
  264.       WRITE (6,75)                                                      ASA02640
  265.       WRITE (6,76)                                                      ASA02650
  266.       WRITE (6,77)                                                      ASA02660
  267.       WRITE (6,82)                                                      ASA02670
  268.       CALL GANT1 (IA,IB,INM,IWR,I1,I2,I3,I12,JA,JB,MD,N,ND,NM,AM,C,CJ,CGASA02680
  269.      1,CMM,D,EFF,GAM,GG,CGD,SGD,VG,Y11,Z11,ZLD,ZS,IGRD)                 ASA02690
  270.       WRITE (6,57) EFF,GG,Z11                                           ASA02700
  271. C     NEAR FIELD                                                        ASA02710
  272.       IF (INEAR.LE.0) GO TO 30                                          ASA02720
  273.       WRITE (6,75)                                                      ASA02730
  274.       WRITE (6,78)                                                      ASA02740
  275.       WRITE (6,77)                                                      ASA02750
  276. C                                                                       ASA02760
  277.       DO 29 I=1,INEAR                                                   ASA02770
  278.       XP = XNP(I)                                                       ASA02780
  279.       YP = YNP(I)                                                       ASA02790
  280.       ZP = ZNP(I)                                                       ASA02800
  281.       CALL GNFLD (IA,IB,INM,I1,I2,I3,MD,N,ND,NM,AM,CGD,SGD,ETA,GAM,CJ,D,ASA02810
  282.      1X,Y,Z,XP,YP,ZP,EX,EY,EZ,IGRD,ERR)                                 ASA02820
  283.       WRITE (6,58) XP,YP,ZP                                             ASA02830
  284.       WRITE (6,59) EX,EY,EZ                                             ASA02840
  285.    29 CONTINUE                                                          ASA02850
  286. C                                                                       ASA02860
  287. C     FAR FIELD                                                         ASA02870
  288.    30 IF (IGAIN.LE.0) GO TO 36                                          ASA02880
  289. C                                                                       ASA02890
  290.       DO 31 I=1,360                                                     ASA02900
  291.       DATY1(I) = 0                                                      ASA02910
  292.       DATY2(I) = 0                                                      ASA02920
  293.       DATY3(I) = 0                                                      ASA02930
  294.    31 DATY4(I) = 0                                                      ASA02940
  295. C                                                                       ASA02950
  296.       WRITE (6,75)                                                      ASA02960
  297.       WRITE (6,79)                                                      ASA02970
  298.       WRITE (6,77)                                                      ASA02980
  299.       WRITE (6,82)                                                      ASA02990
  300.       INC = 0                                                           ASA03000
  301.       NPL = -1                                                          ASA03010
  302.       IF (KFLAG(16).EQ.1) WRITE (6,69)                                  ASA03020
  303.       IF (NFFP.EQ.1) GO TO 32                                           ASA03030
  304.       NPHA = (PHAF-PHAI)/STEP+1                                         ASA03040
  305.       NTHA = (THAF-THAI)/STEP+1                                         ASA03050
  306.       GO TO 34                                                          ASA03060
  307.    32 IF (AFFT.GT.500.) GO TO 33                                        ASA03070
  308.       NPL = 1                                                           ASA03080
  309.       NPHA = 360                                                        ASA03090
  310.       NTHA = 1                                                          ASA03100
  311.       PHAI = 0.                                                         ASA03110
  312.       THAI = AFFT                                                       ASA03120
  313.       STEP = 1.                                                         ASA03130
  314.       GO TO 34                                                          ASA03140
  315.    33 NPL = 2                                                           ASA03150
  316.       NPHA = 1                                                          ASA03160
  317.       NTHA = 360                                                        ASA03170
  318.       PHAI = AFFP                                                       ASA03180
  319.       THAI = 0.                                                         ASA03190
  320.       STEP = 1.                                                         ASA03200
  321.    34 PH = PHAI-STEP                                                    ASA03210
  322.       DO 35 K=1,NPHA                                                    ASA03220
  323.       PH = PH+STEP                                                      ASA03230
  324.       TH = THAI-STEP                                                    ASA03240
  325.       DO 35 I=1,NTHA                                                    ASA03250
  326.       PHSPH = 0.                                                        ASA03260
  327.       PHSTH = 0.                                                        ASA03270
  328.       TH = TH+STEP                                                      ASA03280
  329.       IF ((IGRD.GT.0).AND.((TH.GT.90).AND.(TH.LT.270))) GO TO 35        ASA03290
  330.       CALL GFFLD (IA,IB,INC,INM,IWR,I1,I2,I3,I12,MD,N,ND,NM,AM,ACSP,ACSTASA03300
  331.      1,C,CGD,CG,CJ,CMM,D,ECSP,ECST,EP,ET,EPP,ETT,EPPS,EPTS,ETPS,ETTS,GG,ASA03310
  332.      2GPP,GTT,PH,SGD,SCSP,SCST,SPPM,SPTM,STPM,STTM,TH,X,Y,Z,ZLD,ZS,ETA,GASA03320
  333.      3AM,ERR,IGRD)                                                      ASA03330
  334.       ETMAG = CABS(ETTS)                                                ASA03340
  335.       EPMAG = CABS(EPPS)                                                ASA03350
  336.       IF(ETMAG.GT.1.E-32) PHSTH=57.295779*ATAN2(AIMAG(ETTS),REAL(ETTS)) ASA03360
  337.       IF(EPMAG.GT.1.E-32) PHSPH=57.295779*ATAN2(AIMAG(EPPS),REAL(EPPS)) ASA03370
  338.       IF (NPL.EQ.1) DATY1(K)=EPMAG                                      ASA03380
  339.       IF (NPL.EQ.1) DATY2(K)=ETMAG                                      ASA03390
  340.       IF (NPL.EQ.2) DATY1(I)=EPMAG                                      ASA03400
  341.       IF (NPL.EQ.2) DATY2(I)=ETMAG                                      ASA03410
  342.       IF (KFLAG(16).NE.1) GO TO 35                                      ASA03420
  343.       WRITE (6,60) TH,PH,GTT,GPP,ETTS,ETMAG,PHSTH,EPPS,EPMAG,PHSPH      ASA03430
  344.    35 CONTINUE                                                          ASA03440
  345. C                                                                       ASA03450
  346.       WRITE (6,56)                                                      ASA03460
  347.       IF (NPL.LE.0) GO TO 36                                            ASA03470
  348.       CALL POLPRT (1,DATY1)                                             ASA03480
  349.       CALL POLPRT (2,DATY2)                                             ASA03490
  350. C     BACK SCATTERING                                                   ASA03500
  351.    36 IF (ISCAT.LE.0) GO TO 54                                          ASA03510
  352.       WRITE (6,75)                                                      ASA03520
  353.       WRITE (6,80)                                                      ASA03530
  354.       WRITE (6,77)                                                      ASA03540
  355.       WRITE (6,82)                                                      ASA03550
  356.       L = 0                                                             ASA03560
  357.       NPL = -1                                                          ASA03570
  358.       INC = 1                                                           ASA03580
  359.       IF (NBAP.EQ.1) GO TO 37                                           ASA03590
  360.       NPHI = (PHIF-PHII)/STEP+1                                         ASA03600
  361.       NTHI = (THIF-THII)/STEP+1                                         ASA03610
  362.       IF (IWR.LE.0) WRITE (6,62)                                        ASA03620
  363.       GO TO 39                                                          ASA03630
  364.    37 IF (ABAT.GT.500.) GO TO 38                                        ASA03640
  365.       NPL = 1                                                           ASA03650
  366.       NPHI = 360                                                        ASA03660
  367.       NTHI = 1                                                          ASA03670
  368.       PHII = 0.                                                         ASA03680
  369.       THII = ABAT                                                       ASA03690
  370.       STEP = 1.                                                         ASA03700
  371.       GO TO 39                                                          ASA03710
  372.    38 NPL = 2                                                           ASA03720
  373.       NPHI = 1                                                          ASA03730
  374.       NTHI = 360                                                        ASA03740
  375.       PHII = ABAP                                                       ASA03750
  376.       THII = 0.                                                         ASA03760
  377.       STEP = 1.                                                         ASA03770
  378.    39 PH = PHII-STEP                                                    ASA03780
  379. C                                                                       ASA03790
  380.       DO 42 K=1,NPHI                                                    ASA03800
  381.       PH = PH+STEP                                                      ASA03810
  382.       TH = THII-STEP                                                    ASA03820
  383. C                                                                       ASA03830
  384.       DO 42 I=1,NTHI                                                    ASA03840
  385.       TH = TH+STEP                                                      ASA03850
  386.       IF ((IGRD.GT.0).AND.((TH.GT.90).AND.(TH.LT.270))) GO TO 42        ASA03860
  387.       L = L+1                                                           ASA03870
  388.       CALL GFFLD (IA,IB,INC,INM,IWR,I1,I2,I3,I12,MD,N,ND,NM,AM,ACSP,ACSTASA03880
  389.      1,C,CGD,CG,CJ,CMM,D,ECSP,ECST,EP,ET,EPP,ETT,EPPS,EPTS,ETPS,ETTS,GG,ASA03890
  390.      2GPP,GTT,PH,SGD,SCSP,SCST,SPPM,SPTM,STPM,STTM,TH,X,Y,Z,ZLD,ZS,ETA,GASA03900
  391.      3AM,ERR,IGRD)                                                      ASA03910
  392.       IF (IWR.GT.0) GO TO 40                                            ASA03920
  393.       IF (NPL.LT.0) WRITE (6,63) PH,TH,SPPM,SPTM,STPM,STTM,ACSP,ACST,ECSASA03930
  394.      1P,ECST,SCSP,SCST                                                  ASA03940
  395.    40 CPHI(L) = PH                                                      ASA03950
  396.       CTHET(L) = TH                                                     ASA03960
  397.       CDAT1(L) = EPPS                                                   ASA03970
  398.       CDAT2(L) = EPTS                                                   ASA03980
  399.       CDAT3(L) = ETPS                                                   ASA03990
  400.       CDAT4(L) = ETTS                                                   ASA04000
  401.       IF (NPL.NE.1) GO TO 41                                            ASA04010
  402.       DATY1(K) = CABS(EPPS)                                             ASA04020
  403.       DATY2(K) = CABS(EPTS)                                             ASA04030
  404.       DATY3(K) = CABS(ETPS)                                             ASA04040
  405.       DATY4(K) = CABS(ETTS)                                             ASA04050
  406.       GO TO 42                                                          ASA04060
  407.    41 DATY1(I) = CABS(EPPS)                                             ASA04070
  408.       DATY2(I) = CABS(EPTS)                                             ASA04080
  409.       DATY3(I) = CABS(ETPS)                                             ASA04090
  410.       DATY4(I) = CABS(ETTS)                                             ASA04100
  411.    42 CONTINUE                                                          ASA04110
  412. C                                                                       ASA04120
  413.       WRITE (6,82)                                                      ASA04130
  414.       IF (NPL.LE.0) GO TO 43                                            ASA04140
  415.       CALL POLPRT (7,DATY1)                                             ASA04150
  416.       CALL POLPRT (8,DATY2)                                             ASA04160
  417.       CALL POLPRT (9,DATY3)                                             ASA04170
  418.       CALL POLPRT (10,DATY4)                                            ASA04180
  419.       IF (KFLAG(17).NE.1) GO TO 45                                      ASA04190
  420.    43 WRITE (6,64)                                                      ASA04200
  421. C                                                                       ASA04210
  422.       DO 44 I=1,L                                                       ASA04220
  423.    44 WRITE (6,65) CPHI(I),CTHET(I),CDAT1(I),CDAT2(I),CDAT3(I),CDAT4(I) ASA04230
  424. C                                                                       ASA04240
  425. C     BISTATIC SCATTERING                                               ASA04250
  426.    45 IF (IBISC.LE.0) GO TO 54                                          ASA04260
  427.       WRITE (6,75)                                                      ASA04270
  428.       WRITE (6,81)                                                      ASA04280
  429.       WRITE (6,77)                                                      ASA04290
  430.       WRITE (6,82)                                                      ASA04300
  431.       WRITE (6,61) CPHI(L),CTHET(L)                                     ASA04310
  432.       WRITE (6,82)                                                      ASA04320
  433.       L = 0                                                             ASA04330
  434.       INC = 2                                                           ASA04340
  435.       NPL = -1                                                          ASA04350
  436.       IF (NBIP.EQ.1) GO TO 46                                           ASA04360
  437.       NPHS = (PHSF-PHSI)/STEP+1                                         ASA04370
  438.       NTHS = (THSF-THSI)/STEP+1                                         ASA04380
  439.       IF (IWR.LE.0) WRITE (6,67)                                        ASA04390
  440.       GO TO 48                                                          ASA04400
  441.    46 IF (ABIT.GT.500.) GO TO 47                                        ASA04410
  442.       NPL = 1                                                           ASA04420
  443.       NPHS = 360                                                        ASA04430
  444.       NTHS = 1                                                          ASA04440
  445.       PHSI = 0.                                                         ASA04450
  446.       THSI = ABIT                                                       ASA04460
  447.       STEP = 1.                                                         ASA04470
  448.       GO TO 48                                                          ASA04480
  449.    47 NPL = 2                                                           ASA04490
  450.       NPHS = 1                                                          ASA04500
  451.       NTHS = 360                                                        ASA04510
  452.       PHSI = ABIP                                                       ASA04520
  453.       THSI = 0.                                                         ASA04530
  454.       STEP = 1.                                                         ASA04540
  455.    48 PH = PHSI-STEP                                                    ASA04550
  456. C                                                                       ASA04560
  457.       DO 51 K=1,NPHS                                                    ASA04570
  458.       PH = PH+STEP                                                      ASA04580
  459.       TH = THSI-STEP                                                    ASA04590
  460.       IF ((IGRD.GT.0).AND.((TH.GT.90).AND.(TH.LT.270))) GO TO 51        ASA04600
  461. C                                                                       ASA04610
  462.       DO 51 I=1,NTHS                                                    ASA04620
  463.       TH = TH+STEP                                                      ASA04630
  464.       L = L+1                                                           ASA04640
  465.       CALL GFFLD (IA,IB,INC,INM,IWR,I1,I2,I3,I12,MD,N,ND,NM,AM,ACSP,ACSTASA04650
  466.      1,C,CGD,CG,CJ,CMM,D,ECSP,ECST,EP,ET,EPP,ETT,EPPS,EPTS,ETPS,ETTS,GG,ASA04660
  467.      2GPP,GTT,PH,SGD,SCSP,SCST,SPPM,SPTM,STPM,STTM,TH,X,Y,Z,ZLD,ZS,ETA,GASA04670
  468.      3AM,ERR,IGRD)                                                      ASA04680
  469.       IF (IWR.GT.0) GO TO 49                                            ASA04690
  470.       IF (NPL.LT.0) WRITE (6,63) PH,TH,SPPM,SPTM,STPM,STTM              ASA04700
  471.    49 CPHI(L) = PH                                                      ASA04710
  472.       CTHET(L) = TH                                                     ASA04720
  473.       CDAT1(L) = EPPS                                                   ASA04730
  474.       CDAT2(L) = EPTS                                                   ASA04740
  475.       CDAT3(L) = ETPS                                                   ASA04750
  476.       CDAT4(L) = ETTS                                                   ASA04760
  477.       IF (NPL.NE.1) GO TO 50                                            ASA04770
  478.       DATY1(K) = CABS(EPPS)                                             ASA04780
  479.       DATY2(K) = CABS(EPTS)                                             ASA04790
  480.       DATY3(K) = CABS(ETPS)                                             ASA04800
  481.       DATY4(K) = CABS(ETTS)                                             ASA04810
  482.    50 IF (NPL.NE.2) GO TO 51                                            ASA04820
  483.       DATY1(I) = CABS(EPPS)                                             ASA04830
  484.       DATY2(I) = CABS(EPTS)                                             ASA04840
  485.       DATY3(I)=CABS(ETPS)                                               ASA04850
  486.       DATY4(I) = CABS(ETTS)                                             ASA04860
  487.    51 CONTINUE                                                          ASA04870
  488. C                                                                       ASA04880
  489.       WRITE (6,82)                                                      ASA04890
  490.       IF (NPL.LE.0) GO TO 52                                            ASA04900
  491.       CALL POLPRT (3,DATY1)                                             ASA04910
  492.       CALL POLPRT (4,DATY2)                                             ASA04920
  493.       CALL POLPRT (5,DATY3)                                             ASA04930
  494.       CALL POLPRT (6,DATY4)                                             ASA04940
  495.       IF (KFLAG(18).NE.1) GO TO 54                                      ASA04950
  496.    52 WRITE (6,66)                                                      ASA04960
  497. C                                                                       ASA04970
  498.       DO 53 I=1,L                                                       ASA04980
  499.    53 WRITE (6,65) CPHI(I),CTHET(I),CDAT1(I),CDAT2(I),CDAT3(I),CDAT4(I) ASA04990
  500. C                                                                       ASA05000
  501.    54 IF (IFLAG.EQ.1) GO TO 1                                           ASA05010
  502.       IF (IFLAG.EQ.2) STOP                                              ASA05020
  503. C                                                                       ASA05030
  504.       KKFLAG=0                                                          ASA05040
  505.       KJFLAG=0                                                          ASA05050
  506.       KMFLAG=0                                                          ASA05060
  507.       KNFLAG=0                                                          ASA05070
  508.       IF (KFLAG(13).GT.0) KKFLAG=1                                      ASA05080
  509.       IF (KFLAG(23).GT.0) KJFLAG=1                                      ASA05090
  510.       IF (KFLAG(14).GT.0) KMFLAG=1                                      ASA05100
  511.       IF (KFLAG(24).GT.0) KNFLAG=1                                      ASA05110
  512.       DO 55 I=1,30                                                      ASA05120
  513.    55 KFLAG(I) = -1                                                     ASA05130
  514. C                                                                       ASA05140
  515.       KFLAG(8) = 1                                                      ASA05150
  516.       KFLAG(20) = 1                                                     ASA05160
  517.       KFLAG(26) = 1                                                     ASA05170
  518.       IF (KKFLAG.GT.0) KFLAG(13)=1                                      ASA05180
  519.       IF (KJFLAG.GT.0) KFLAG(23)=1                                      ASA05190
  520.       IF (KMFLAG.GT.0) KFLAG(14)=1                                      ASA05200
  521.       IF (KNFLAG.GT.0) KFLAG(24)=1                                      ASA05210
  522.       IF (IFLAG.EQ.3) WRITE (6,68)                                      ASA05220
  523.       IF (IFLAG.EQ.6) WRITE (6,115)                                     ASA05230
  524.       GO TO 4                                                           ASA05240
  525. C                                                                       ASA05250
  526.    56 FORMAT (1H0)                                                      ASA05260
  527.    57 FORMAT (10X,'THE RADIATION EFFICIENCY IS ',F15.7//10X,'THE TIME-AVASA05270
  528.      1ERAGE POWER INPUT IS ',F15.7//10X,'THE ANTENNA IMPEDANCE IS ',F15.ASA05280
  529.      27,' +J',F15.7//)                                                  ASA05290
  530.    58 FORMAT (10X,'THE NEAR-FIELD ELECTRIC FIELD INTENSITY AT THE OBSERVASA05300
  531.      1ATION POINT ',E11.5,',',E11.5,',',E11.5,' (X,Y,Z RESPECTIVELY) IS:ASA05310
  532.      2'//)                                                              ASA05320
  533.    59 FORMAT (20X,'EX=',F15.7,' +J',F15.7/20X,'EY=',F15.7,' +J',F15.7/20ASA05330
  534.      1X,'EZ=',F15.7,' +J',F15.7////)                                    ASA05340
  535.    60 FORMAT (3X,F5.1,2X,F5.1,3X,E10.4,2X,E10.4,2(3X,3(E10.4,2X),F6.1,1XASA05350
  536.      1))                                                                ASA05360
  537.    61 FORMAT (T41,'FOR BISTATIC SCATTERING THE INCIDENT'/T41,'PLANE WAVEASA05370
  538.      1 IS PHI=',F5.1,' THETA=',F5.1///)                                 ASA05380
  539.    62 FORMAT (' INCIDENT',T27,'ECHO AREA SIGMA',T66,'ABSORPTION',T90,'EXASA05390
  540.      1TINCTION',T114,'SCATTERING'/'  PLANE',T25,'(INCIDENT-SCATTERED)',1ASA05400
  541.      24X,3(5X,'CROSS SECTION',6X)/'  WAVE ',52X,3(10X,'FOR',11X)/'  PHI ASA05410
  542.      3 THETA',3X,'PHI-PHI',3X,'PHI-THETA',4X,'THETA-PHI',2X,'THETA-THETAASA05420
  543.      4',3(5X,'PHI',7X,'THETA',4X))                                      ASA05430
  544.    63 FORMAT (1X,2(F5.1,1X),10(E10.4,2X))                               ASA05440
  545.    64 FORMAT (T54,'BACKSCATTERING'/' INCIDENT',T37,'ELECTRIC FIELD POLARASA05450
  546.      1IZATION SCATTERING MATRIX'/'  PLANE',T49,'(INCIDENT-SCATTERED)'/3XASA05460
  547.      2,'WAVE',T23,'PHI-PHI',T49,'PHI-THETA',T75,'THETA-PHI',T102,'THETA-ASA05470
  548.      3THETA'/'  PHI  THETA',3X,4(3X,'REAL',8X,'IMAG',8X))               ASA05480
  549.    65 FORMAT (1X,2(F5.1,1X),2X,4(E11.5,2X,E11.5,3X))                    ASA05490
  550.    66 FORMAT (T54,'BISTATIC'/T37,'ELECTRIC FIELD POLARIZATION SCATTERINGASA05500
  551.      1 MATRIX'/' OBSERVATION',T50,'(INCIDENT-SCATTERED)'/'   POINT',14X,ASA05510
  552.      2 'PHI-PHI',T49,'PHI-THETA',T76,'THETA-PHI',T101,'THETA-THETA'/'  PASA05520
  553.      3HI  THETA',4X,4(3X,'REAL',8X,'IMAG',8X))                          ASA05530
  554.    67 FORMAT (' OBERSVATION',T27,'ECHO AREA SIGMA'/'   POINT',T25,'(INCIASA05540
  555.      1DENT-SCATTERED)'/'  PHI  THETA',T14,'PHI-PHI',T24,'PHI-THETA',T37,ASA05550
  556.      2  'THETA-PHI',T48,'THETA-THETA')                                  ASA05560
  557.    68 FORMAT (1H1,5X,'CONTINUE EXECUTION WITH THE FOLLOWING ADDITIONS ANASA05570
  558.      1D/OR CHANGES'//)                                                  ASA05580
  559.    69 FORMAT (54X,'ELECTRIC FIELD INTENSITY'/5X,'DEGREES',11X,'POWER GAIASA05590
  560.      1N',28X,'THETA',42X,'PHI'/3X,'THETA',3X,'PHI',7X,'THETA',8X,'PHI',1ASA05600
  561.      2X,2(8X,'REAL',8X,'IMAG',8X,'MAGN',5X,'PHASE'))                    ASA05610
  562.    70 FORMAT (10X,'*****ERROR IN DATA CARD NUMBER ',I2,'  EXECUTION STOPASA05620
  563.      1PED*******')                                                      ASA05630
  564.    71 FORMAT (40X,'*     A WIRE SEGMENT MAYNOT BE SHARED BY MORE THAN FOASA05640
  565.      1UR    *'/40X,'*     DIPOLE MODES---------CHECK DESCRIPTION DATA CAASA05650
  566.      2RD     *'/40X,'*              EXECUTION STOPPED                   ASA05660
  567.      3        *')                                                       ASA05670
  568.    72 FORMAT (40X,'*     AN ISOLATED WIRE MUST HAVE AT LEAST TWO SEGMENTASA05680
  569.      1S     *'/40X,'*     AND THREE POINTS-----CHECK DESCRIPTION DATA CAASA05690
  570.      2RD     *'/40X,'*              EXECUTION STOPPED                   ASA05700
  571.      3        *')                                                       ASA05710
  572.    73 FORMAT (30X,'A BACKSCATTERING CALL MUST BE INCLUDED FOR A BISTATICASA05720
  573.      1 CALL'//50X,'REQUEST IGNORED'/////)                               ASA05730
  574.    74 FORMAT ('1',T50,37('*')/T50,'*',T86,'*'/                          ASA05740
  575.      1 T50,'*      OHIO STATE UNIVERSITY        *'/                     ASA05750
  576.      2 T50,'*    ANTENNA ANALYSIS PROGRAM       *'/                     ASA05760
  577.      3 T50,'*       MODIFIED FOR USE AT         *'/                     ASA05770
  578.      4 T50,'*     NAVAL POSTGRADUATE SCHOOL     *'/                     ASA05780
  579.      5 T50,'*         17 JULY 1974              *'/                     ASA05790
  580.      6 T50,'*',T86,'*'/T50,37('*'))                                     ASA05800
  581.    75 FORMAT ('1',T50,29('*')/T50,'*',T78,'*')                          ASA05810
  582.    76 FORMAT (T50,'*',11X,'ANTENNA',T78,'*')                            ASA05820
  583.    77 FORMAT (T50,'*',8X,'CALCULATIONS',T78,'*'/T50,'*',T78,'*'/T50,29('ASA05830
  584.      1*'))                                                              ASA05840
  585.    78 FORMAT (T50,'*',9X,'NEAR FIELD',T78,'*')                          ASA05850
  586.    79 FORMAT (T50,'*',9X,'FAR FIELD',T78,'*')                           ASA05860
  587.    80 FORMAT (T50,'*',7X,'BACKSCATTERING',T78,'*')                      ASA05870
  588.    81 FORMAT (T50,'*',4X,'BISTATIC SCATTERING',T78,'*')                 ASA05880
  589.    82 FORMAT (////)                                                     ASA05890
  590.    83 FORMAT (T30,'FREQUENCY (MHZ)',T81,E11.5)                          ASA05900
  591.    84 FORMAT (T30,'WIRE RADIUS (METERS)',T81,E11.5)                     ASA05910
  592.    85 FORMAT (T30,'WIRE CONDUCTIVITY (MEGAMHOS/METER)',T81,E11.5)       ASA05920
  593.    86 FORMAT (T30,'WIRE INSULATED (NO/YES)',T85,'YES')                  ASA05930
  594.    87 FORMAT (T30,'WIRE INSULATED (NO/YES)',T85,'NO')                   ASA05940
  595.    88 FORMAT (T30,'INSULATION RADIUS (METERS)',T81,E11.5)               ASA05950
  596.    89 FORMAT (T30,'INSULATION CONDUCTIVITY (MHOS/METER)',T81,E11.5)     ASA05960
  597.    90 FORMAT (T30,'INSULATION DIELECTRIC CONSTANT (RELATIVE)',T81,E11.5)ASA05970
  598.    91 FORMAT (T30,'INSULATION LOSS TANGENT',T81,E11.5)                  ASA05980
  599.    92 FORMAT (T30,'EXTERIOR MEDIUM',T81,'FREE SPACE')                   ASA05990
  600.    93 FORMAT (T30,'EXTERIOR MEDIUM CONDUCTIVITY (MHOS/METER)',T81,E11.5)ASA06000
  601.    94 FORMAT (T30,'EXTERIOR MEDIUM DIELECTRIC CONSTANT (RELATIVE)',T81, ASA06010
  602.      1 E11.5)                                                           ASA06020
  603.    95 FORMAT (T30,'EXTERIOR MEDIUM LOSS TANGENT',T81,E11.5)             ASA06030
  604.    96 FORMAT (T50,'WIRE STRUCTURE'//T20,'SEG',4X,2('NODE',19X,'LOCATION'ASA06040
  605.      1,18X)/T21,'NO.',3X,2(' NO.',9X,'X',13X,'Y',13X,'Z',7X)/(T21,I2,5X,ASA06050
  606.      22(I2,5X,E11.5,4X,E11.5,4X,E11.5,1X)))                             ASA06060
  607.    97 FORMAT (T50,'ANTENNA FEEDS'/T40,'NODE',16X,'VOLTS'/T41,'NO.',12X, ASA06070
  608.      1 'REAL',7X,'IMAGINARY'/(T41,I2,6X,2(4X,E11.5)))                   ASA06080
  609.    98 FORMAT (T50,'*', 6X,'OUTPUT REQUESTED',T78,'*')                   ASA06090
  610.    99 FORMAT (T30,'STRUCTURE CURRENTS')                                 ASA06100
  611.   100 FORMAT (T30,'FAR FIELDS FOR PHI VARYING FROM',1X,F5.1,' TO ',F5.1,ASA06110
  612.      1 'AND THETA VARYING FROM ',F5.1,' TO ',F5.1/                      ASA06120
  613.      2T50,'IN STEPS OF ',F5.1,' DEGREES.')                              ASA06130
  614.   101 FORMAT (T30,'BACKSCATTERING FOR PHI VARYING FROM ',F5.1,' TO ',F5.ASA06140
  615.      11,' AND THETA VARYING FROM ',F5.1,' TO ',F5.1/                    ASA06150
  616.      2T50,'IN STEPS OF ',F5.1,' DEGREES.')                              ASA06160
  617.   102 FORMAT (T30,'BISTATIC SCATTERING FOR PHI VARYING FROM ',F5.1,' TO ASA06170
  618.      1',F5.1,' AND THETA VARYING FROM ',F5.1,' TO ',F5.1/               ASA06180
  619.      2T50,'IN STEPS OF ',F5.1,' DEGREES.')                              ASA06190
  620.   103 FORMAT (T30,'NEAR FIELDS FOR FOLLOWING POINTS (X,Y,Z)'/50(T40,3(E1ASA06200
  621.      11.5,5X)))                                                         ASA06210
  622.   104 FORMAT (T30,'PLOT FOR FAR FIELD THETA=',F5.1)                     ASA06220
  623.   105 FORMAT (T30,'PLOT FOR FAR FIELD PHI=',F5.1)                       ASA06230
  624.   106 FORMAT (T30,'PLOT FOR BISTATIC SCATTERING-FOR THETA=',F5.1)       ASA06240
  625.   107 FORMAT (T30,'PLOT FOR BISTATIC SCATTERING FOR PHI=',F5.1)         ASA06250
  626.   108 FORMAT (T30,'PLOT FOR BACKSCATTERING THETA=',F5.1)                ASA06260
  627.   109 FORMAT (T30,'PLOT FOR BACKSCATTERING PHI=',F5.1)                  ASA06270
  628.   110 FORMAT (T30,'NO OUTPUT OR PLOTS REQUESTED')                       ASA06280
  629.   111 FORMAT (//)                                                       ASA06290
  630.   112 FORMAT (T50,'*',T78,'*'/T50,29('*'))                              ASA06300
  631.   113 FORMAT (T50,'*', 8X,'INPUT DATA ',T78,'*')                        ASA06310
  632.   114 FORMAT (T50,29('*')/T50,'*',T78,'*')                              ASA06320
  633.   115 FORMAT (10X,'SINCE THIS DATA BLOCK DOES NOT HAVE A TERMINATION CARASA06330
  634.      1D A CHANGE CARD IS ASSUMED')                                      ASA06340
  635.   116 FORMAT (//10X,40('*')/10X,'THE DESCRIPTION AND THE GEOMETRY OF THEASA06350
  636.      1 STRUCTURE'/10X,'MUST BE STATED IN THE FIRST DATA BLOCK.'/10X,'***ASA06360
  637.      2* EXECUTION STOPPED ***')                                         ASA06370
  638.   117 FORMAT (//10X,'NO PART OF THE WIRE STRUCTURE CAN LIE BELOW THE GROASA06380
  639.      1 UND PLANE.'/10X,'****EXECUTION STOPPED****')                     ASA06390
  640.   118 FORMAT (T50,'STRUCTURE LOADS'/T40,'NODE',16X,'OHMS'/T41,'NO.',12X ASA06400
  641.      1 ,'REAL',7X,'IMAGINARY'/(T41,I2,6X,2(4X,E11.5)))                  ASA06410
  642.   119 FORMAT (T50,'STRUCTURE LOADS'/T39,'SEGMENT',14X,'OHMS'/T41,'NO',12ASA06420
  643.      1X,'REAL',7X,'IMAGINARY'/(T41,I2,6X,2(4X,E11.5)))                  ASA06430
  644.   120 FORMAT (T50,'ANTENNA FEEDS'/T39,'SEGMENT',14X,'VOLTS'/T41,'NO.',12ASA06440
  645.      1X,'REAL',7X,'IMAGINARY'/(T41,I2,6X,2(4X,E11.5)))                  ASA06450
  646.   121 FORMAT (//T30,'THE NUMBER OF INTERVALS FOR CALCULATING THE ELEMENTASA06460
  647.      1S'/T30,'IN THE IMPEDANCE MATRIX WITH SIMPSONS-RULE INTEGRATION IS'ASA06470
  648.      2,/T30,I3,'.  IF CLOSED FORM INTEGRATION IS REQUIRED SET INT=0'///)ASA06480
  649.   122 FORMAT (T30,'GROUND PLANE (NO/YES)',T85,'NO')                     ASA06490
  650.   123 FORMAT (T30,'GROUND PLANE (NO/YES)',T85,'YES')                    ASA06500
  651.   124 FORMAT (T30,'GROUND DIELECTRIC CONSTANT (RELATIVE)',T81,E11.5/    ASA06510
  652.      1 T30,'GROUND CONDUCTIVITY (MHOS/METER)',T81,E11.5)                ASA06520
  653.   125 FORMAT (T30,'GROUND PLANE',T83,'PERFECT')                         ASA06530
  654.   126 FORMAT (T30,'ANTENNA HEIGHT (METERS)',T81,E11.5)                  ASA06540
  655.   127 FORMAT (//10X,40('*')/10X,'THE WIRE RADIUS MUST BE STATED'/10X,40(ASA06550
  656.      1'*'))                                                             ASA06560
  657.       END                                                               ASA06570
  658.       SUBROUTINE BLNK (A)                                               ASA06580
  659.       DIMENSION A(80)                                                   ASA06590
  660.       DATA BLANK/' '/                                                   ASA06600
  661.       K = 0                                                             ASA06610
  662. C                                                                       ASA06620
  663.       DO 1 I=1,80                                                       ASA06630
  664.       J = I-K                                                           ASA06640
  665.       A(J) = A(I)                                                       ASA06650
  666.     1 IF (A(I).EQ.BLANK) K=K+1                                          ASA06660
  667. C                                                                       ASA06670
  668.       IF (K.EQ.0) RETURN                                                ASA06680
  669.       A(81-K) = BLANK                                                   ASA06690
  670.       RETURN                                                            ASA06700
  671.       END                                                               ASA06710
  672.       SUBROUTINE CBES (Z,B01)                                           ASA06720
  673.       COMPLEX ARG,CC,CS,EX                                              ASA06730
  674.       COMPLEX B01,Z,TERMJ,TERMN,MZ24,JN(2)                              ASA06740
  675.       DATA PI/3.14159/                                                  ASA06750
  676.       IF (CABS(Z).GE.12.0) GO TO 4                                      ASA06760
  677.       FACTOR = 0.0                                                      ASA06770
  678.       TERMN = (0.,0.)                                                   ASA06780
  679.       MZ24 = -0.25*Z*Z                                                  ASA06790
  680.       TERMJ = (1.0,0.0)                                                 ASA06800
  681. C                                                                       ASA06810
  682.       DO 3 NP=1,2                                                       ASA06820
  683.       N = NP-1                                                          ASA06830
  684.       JN(NP) = TERMJ                                                    ASA06840
  685.       M = 0                                                             ASA06850
  686.     1 M = M+1                                                           ASA06860
  687.       TERMJ = TERMJ*MZ24/FLOAT(M*(N+M))                                 ASA06870
  688.       JN(NP) = JN(NP)+TERMJ                                             ASA06880
  689.       IF (NP.NE.1) GO TO 2                                              ASA06890
  690.       FACTOR = FACTOR+1.0/FLOAT(M)                                      ASA06900
  691.       TERMN = TERMN+TERMJ*FACTOR                                        ASA06910
  692.     2 ERROR = CABS(TERMJ)                                               ASA06920
  693.       IF (ERROR.GT.1.0E-10) GO TO 1                                     ASA06930
  694.     3 TERMJ = 0.5*Z                                                     ASA06940
  695. C                                                                       ASA06950
  696.       B01 = JN(1)/JN(2)                                                 ASA06960
  697.       RETURN                                                            ASA06970
  698.     4 Y = AIMAG(Z)                                                      ASA06980
  699.       IF (ABS(Y).GT.20.) GO TO 5                                        ASA06990
  700.       ARG = (.0,1.)*Z                                                   ASA07000
  701.       EX = CEXP(ARG)                                                    ASA07010
  702.       CC = EX+1./EX                                                     ASA07020
  703.       CS = (.0,-1.)*(EX-1./EX)                                          ASA07030
  704.       B01 = (CS+CC)/(CS-CC)                                             ASA07040
  705.       RETURN                                                            ASA07050
  706.     5 B01 = (.0,-1.)                                                    ASA07060
  707.       IF (Y.LT.0.) B01 = (.0,1.)                                        ASA07070
  708.       RETURN                                                            ASA07080
  709.       END                                                               ASA07090
  710.       SUBROUTINE DSHELL (AM,BM,DK,CGDS,SGDS,EP2,EP,ETA,GAM,P11,P12)     ASA07100
  711.       COMPLEX CGDS,SGDS,EP2,EP,ETA,GAM,P11,P12,GD,CST                   ASA07110
  712.       DATA PI/3.14159/                                                  ASA07120
  713.       GD = GAM*DK                                                       ASA07130
  714.       CST = (EP2-EP)*ETA*ALOG(BM/AM)/(4.*PI*EP2*SGDS*SGDS)              ASA07140
  715.       P11 = -CST*(GD+SGDS*CGDS)                                         ASA07150
  716.       P12 = CST*(GD*CGDS+SGDS)                                          ASA07160
  717.       RETURN                                                            ASA07170
  718.       END                                                               ASA07180
  719.       SUBROUTINE EQUAL (N)                                              ASA07190
  720.       INTEGER A,EQULS                                                   ASA07200
  721.       COMMON /A/ A(80)                                                  ASA07210
  722.       DATA EQULS/'='/                                                   ASA07220
  723.       K = N                                                             ASA07230
  724. C                                                                       ASA07240
  725.       DO 1 I=K,80                                                       ASA07250
  726.       N = I+1                                                           ASA07260
  727.       IF (A(I).EQ.EQULS) GO TO 2                                        ASA07270
  728.     1 CONTINUE                                                          ASA07280
  729. C                                                                       ASA07290
  730.       N = 1                                                             ASA07300
  731.     2 RETURN                                                            ASA07310
  732.       END                                                               ASA07320
  733.       SUBROUTINE EXPJ (V1,V2,W12)                                       ASA07330
  734.       COMPLEX EC,E15,S,T,UC,VC,V1,V2,W12,Z                              ASA07340
  735.       DIMENSION V(21), W(21), D(16), E(16)                              ASA07350
  736.       DATA V/0.22284667E00,0.11889321E01,0.29927363E01,0.57751436E01,0.9ASA07360
  737.      18374674E01,0.15982874E02,0.93307812E-01,0.49269174E00,0.12155954E0ASA07370
  738.      21,0.22699495E01,0.36676227E01,0.54253366E01,0.75659162E01,0.101202ASA07380
  739.      328E02,0.13130282E02,0.16654408E02,0.20776479E02,0.25623894E02,0.31ASA07390
  740.      4407519E02,0.38530683E02,0.48026086E02/                            ASA07400
  741.       DATA W/0.45896460E00,0.41700083E00,0.11337338E00,0.10399197E-01,0.ASA07410
  742.      126101720E-03,0.89854791E-06,0.21823487E00,0.34221017E00,0.26302758ASA07420
  743.      2E00,0.12642582E00,0.40206865E-01,0.85638778E-02,0.12124361E-02,0.1ASA07430
  744.      31167440E-03,0.64599267E-05,0.22263169E-06,0.42274304E-08,0.3921897ASA07440
  745.      43E-10,0.14565152E-12,0.14830270E-15,0.16005949E-19/               ASA07450
  746.       DATA D/0.22495842E02,0.74411568E02,-0.41431576E03,-0.78754339E02,0ASA07460
  747.      1.11254744E02,0.16021761E03,-0.23862195E03,-0.50094687E03,-0.684878ASA07470
  748.      254E02,0.12254778E02,-0.10161976E02,-0.47219591E01,0.79729681E01,-0ASA07480
  749.      3.21069574E02,0.22046490E01,0.89728244E01/                         ASA07490
  750.       DATA E/0.21103107E02,-0.37959787E03,-0.97489220E02,0.12900672E03,0ASA07500
  751.      1.17949226E02,-0.12910931E03,-0.55705574E03,0.13524801E02,0.1469672ASA07510
  752.      21E03,0.17949528E02,-0.32981014E00,0.31028836E02,0.81657657E01,0.22ASA07520
  753.      3236961E02,0.39124892E02,0.81636799E01/                            ASA07530
  754.       Z = V1                                                            ASA07540
  755. C                                                                       ASA07550
  756.       DO 12 JIM=1,2                                                     ASA07560
  757.       X = REAL(Z)                                                       ASA07570
  758.       Y = AIMAG(Z)                                                      ASA07580
  759.       E15 = (.0,.0)                                                     ASA07590
  760.       AB = CABS(Z)                                                      ASA07600
  761.       IF (AB.EQ.0.) GO TO 11                                            ASA07610
  762.       IF (X.GE.0..AND.AB.GT.10.) GO TO 10                               ASA07620
  763.       YA = ABS(Y)                                                       ASA07630
  764.       IF (X.LE.0..AND.YA.GT.10.) GO TO 10                               ASA07640
  765.       IF (YA-X.GE.17.5.OR.YA.GE.6.5.OR.X+YA.GE.5.5.OR.X.GE.3.) GO TO 2  ASA07650
  766.       IF (X.LE.-9.) GO TO 6                                             ASA07660
  767.       IF (YA-X.GE.2.5) GO TO 7                                          ASA07670
  768.       IF (X+YA.GE.1.5) GO TO 3                                          ASA07680
  769.       N = 6.+3.*AB                                                      ASA07690
  770.       E15 = 1./(N-1.)-Z/N**2                                            ASA07700
  771.     1 N = N-1                                                           ASA07710
  772.       E15 = 1./(N-1.)-Z*E15/N                                           ASA07720
  773.       IF (N.GE.3) GO TO 1                                               ASA07730
  774.       E15 = Z*E15-CMPLX(.577216+ALOG(AB),ATAN2(Y,X))                    ASA07740
  775.       GO TO 11                                                          ASA07750
  776.     2 J1 = 1                                                            ASA07760
  777.       J2 = 6                                                            ASA07770
  778.       GO TO 4                                                           ASA07780
  779.     3 J1 = 7                                                            ASA07790
  780.       J2 = 21                                                           ASA07800
  781.     4 S = (.0,.0)                                                       ASA07810
  782.       YS = Y*Y                                                          ASA07820
  783. C                                                                       ASA07830
  784.       DO 5 I=J1,J2                                                      ASA07840
  785.       XI = V(I)+X                                                       ASA07850
  786.       CF = W(I)/(XI*XI+YS)                                              ASA07860
  787.     5 S = S+CMPLX(XI*CF,-YA*CF)                                         ASA07870
  788. C                                                                       ASA07880
  789.       GO TO 9                                                           ASA07890
  790.     6 T3 = X*X-Y*Y                                                      ASA07900
  791.       T4 = 2.*X*YA                                                      ASA07910
  792.       T5 = X*T3-YA*T4                                                   ASA07920
  793.       T6 = X*T4+YA*T3                                                   ASA07930
  794.       UC = CMPLX(D(11)+D(12)*X+D(13)*T3+T5-E(12)*YA-E(13)*T4,E(11)+E(12)ASA07940
  795.      1*X+E(13)*T3+T6+D(12)*YA+D(13)*T4)                                 ASA07950
  796.       VC = CMPLX(D(14)+D(15)*X+D(16)*T3+T5-E(15)*YA-E(16)*T4,E(14)+E(15)ASA07960
  797.      1*X+E(16)*T3+T6+D(15)*YA+D(16)*T4)                                 ASA07970
  798.       GO TO 8                                                           ASA07980
  799.     7 T3 = X*X-Y*Y                                                      ASA07990
  800.       T4 = 2.*X*YA                                                      ASA08000
  801.       T5 = X*T3-YA*T4                                                   ASA08010
  802.       T6 = X*T4+YA*T3                                                   ASA08020
  803.       T7 = X*T5-YA*T6                                                   ASA08030
  804.       T8 = X*T6+YA*T5                                                   ASA08040
  805.       T9 = X*T7-YA*T8                                                   ASA08050
  806.       T10 = X*T8+YA*T7                                                  ASA08060
  807.       UC = CMPLX(D(1)+D(2)*X+D(3)*T3+D(4)*T5+D(5)*T7+T9-(E(2)*YA+E(3)*T4ASA08070
  808.      1+E(4)*T6+E(5)*T8),E(1)+E(2)*X+E(3)*T3+E(4)*T5+E(5)*T7+T10+(D(2)*YAASA08080
  809.      2+D(3)*T4+D(4)*T6+D(5)*T8))                                        ASA08090
  810.       VC = CMPLX(D(6)+D(7)*X+D(8)*T3+D(9)*T5+D(10)*T7+T9-(E(7)*YA+E(8)*TASA08100
  811.      14+E(9)*T6+E(10)*T8),E(6)+E(7)*X+E(8)*T3+E(9)*T5+E(10)*T7+T10+(D(7)ASA08110
  812.      2*YA+D(8)*T4+D(9)*T6+D(10)*T8))                                    ASA08120
  813.     8 EC = UC/VC                                                        ASA08130
  814.       S = EC/CMPLX(X,YA)                                                ASA08140
  815.     9 EX = EXP(-X)                                                      ASA08150
  816.       T = EX*CMPLX(COS(YA),-SIN(YA))                                    ASA08160
  817.       E15 = S*T                                                         ASA08170
  818.       IF (Y.LT.0.) E15 = CONJG(E15)                                     ASA08180
  819.       GO TO 11                                                          ASA08190
  820.    10 E15 = .409319/(Z+.193044)+.421831/(Z+1.02666)+.147126/(Z+2.56788)+ASA08200
  821.      1.206335E-1/(Z+4.90035)+.107401E-2/(Z+8.18215)+.158654E-4/(Z+12.734ASA08210
  822.      22)+.317031E-7/(Z+19.3957)                                         ASA08220
  823.       E15 = E15*CEXP(-Z)                                                ASA08230
  824.    11 IF (JIM.EQ.1) W12 = E15                                           ASA08240
  825.    12 Z = V2                                                            ASA08250
  826. C                                                                       ASA08260
  827.       Z = V2/V1                                                         ASA08270
  828.       TH = ATAN2(AIMAG(Z),REAL(Z))-ATAN2(AIMAG(V2),REAL(V2))+ATAN2(AIMAGASA08280
  829.      1(V1),REAL(V1))                                                    ASA08290
  830.       AB = ABS(TH)                                                      ASA08300
  831.       IF (AB.LT.1.) TH = .0                                             ASA08310
  832.       IF (TH.GT.1.) TH = 6.2831853                                      ASA08320
  833.       IF (TH.LT.-1.) TH = -6.2831853                                    ASA08330
  834.       W12 = W12-E15+CMPLX(.0,TH)                                        ASA08340
  835.       RETURN                                                            ASA08350
  836.       END                                                               ASA08360
  837.       SUBROUTINE GANT1 (IA,IB,INM,IWR,I1,I2,I3,I12,JA,JB,MD,N,ND,NM,AM,CASA08370
  838.      1,CJ,CG,CMM,D,EFF,GAM,GG,CGD,SGD,VG,Y11,Z11,ZLD,ZS,IGRD)           ASA08380
  839.       COMPLEX YY,CGEN                                                   ASA08390
  840.       COMPLEX C(1),CJ(1),CGD(1),SGD(1),VG(1),ZLD(1),Y11,Z11,ZS,GAM,CG(1)ASA08400
  841.       DIMENSION D(1), IA(1), IB(1), JA(1), JB(1)                        ASA08410
  842.       DIMENSION I1(1), I2(1), I3(1), MD(INM,4), ND(1)                   ASA08420
  843.       COMMON IWL                                                        ASA08430
  844. C                                                                       ASA08440
  845.       DO 3 I=1,N                                                        ASA08450
  846.       CJ(I) = (.0,.0)                                                   ASA08460
  847.       K = JA(I)                                                         ASA08470
  848. C                                                                       ASA08480
  849. C                                                                       ASA08490
  850.       DO 2 KK=1,2                                                       ASA08500
  851.       KA = IA(K)                                                        ASA08510
  852.       KB = IB(K)                                                        ASA08520
  853.       JJ = K                                                            ASA08530
  854.       FI = 1.                                                           ASA08540
  855.       IF (KB.EQ.I2(I)) GO TO 1                                          ASA08550
  856.       IF (KB.EQ.I1(I)) FI=-1.                                           ASA08560
  857.       CJ(I) = CJ(I)+FI*VG(JJ)                                           ASA08570
  858.       GO TO 2                                                           ASA08580
  859.     1 IF (KA.EQ.I3(I)) FI=-1.                                           ASA08590
  860.       JJ = K+NM                                                         ASA08600
  861.       CJ(I) = CJ(I)+FI*VG(JJ)                                           ASA08610
  862.     2 K = JB(I)                                                         ASA08620
  863. C                                                                       ASA08630
  864. C                                                                       ASA08640
  865.     3 CONTINUE                                                          ASA08650
  866. C                                                                       ASA08660
  867. C                                                                       ASA08670
  868. C                                                                       ASA08680
  869. C                                                                       ASA08690
  870.       DO 4 I=1,N                                                        ASA08700
  871.     4 CG(I) = CJ(I)                                                     ASA08710
  872. C                                                                       ASA08720
  873. C                                                                       ASA08730
  874.       CALL SQROT (C,CJ,0,I12,N)                                         ASA08740
  875.       I12 = 2                                                           ASA08750
  876.       Y11 = (.0,.0)                                                     ASA08760
  877.       NNN = N                                                           ASA08770
  878.       IF (IGRD.GT.0) NNN=(N+IWL)/2                                      ASA08780
  879. C                                                                       ASA08790
  880. C                                                                       ASA08800
  881.       DO 6 I=1,NNN                                                      ASA08810
  882.       NN = IA(JB(I))                                                    ASA08820
  883.       CGEN=CG(I)                                                        ASA08830
  884.       IF (I.LE.IWL) CGEN=CGEN/2.                                        ASA08840
  885.       YY=CJ(I)*CONJG(CGEN)                                              ASA08850
  886.       IF (CABS(YY).LT.1.E-20) GO TO 5                                   ASA08860
  887.       Z11=(1./YY)*(CABS(CGEN)**2)                                       ASA08870
  888.       WRITE (6,8) NN,Z11                                                ASA08880
  889.     5 Y11 = Y11+YY                                                      ASA08890
  890.     6 CONTINUE                                                          ASA08900
  891. C                                                                       ASA08910
  892. C                                                                       ASA08920
  893.       IF (IWR.GT.0) WRITE (6,7)                                         ASA08930
  894.       CALL RITE (IA,IB,INM,IWR,I1,I2,I3,MD,ND,NM,CJ,CG,IGRD)            ASA08940
  895.       GG = REAL(Y11)                                                    ASA08950
  896.       IF (IGRD.GT.0) GG=2.*REAL(Y11)                                    ASA08960
  897.       PIN = GG                                                          ASA08970
  898.       CALL GDISS (AM,CG,CMM,D,DISS,GAM,NM,SGD,ZLD,ZS)                   ASA08980
  899.       PRAD = PIN-DISS                                                   ASA08990
  900.       EFF = 100.*PRAD/PIN                                               ASA09000
  901.       RETURN                                                            ASA09010
  902. C                                                                       ASA09020
  903. C                                                                       ASA09030
  904.     7 FORMAT (50X,'ANTENNA BRANCH CURRENTS')                            ASA09040
  905.     8 FORMAT (10X,'THE INPUT IMPEDANCE AT NODE ',I3,' IS',F15.7,' + J', ASA09050
  906.      1F15.7//)                                                          ASA09060
  907.       END                                                               ASA09070
  908.       SUBROUTINE GDISS (AM,CG,CMM,D,DISS,GAM,NM,SGD,ZLD,ZS)             ASA09080
  909.       COMPLEX CG(1),SGD(1),ZLD(1),CJA,CJB,GAM,ZS                        ASA09090
  910.       DIMENSION D(1)                                                    ASA09100
  911.       DATA PI/3.14159/                                                  ASA09110
  912.       DISS = .0                                                         ASA09120
  913.       IF (CMM.LE.0.) GO TO 2                                            ASA09130
  914.       ALPH = REAL(GAM)                                                  ASA09140
  915.       BETA = AIMAG(GAM)                                                 ASA09150
  916.       RH = REAL(ZS)/(4.*PI*AM)                                          ASA09160
  917. C                                                                       ASA09170
  918.       DO 1 K=1,NM                                                       ASA09180
  919.       DK = D(K)                                                         ASA09190
  920.       DEN = CABS(SGD(K))**2                                             ASA09200
  921.       EAD = EXP(ALPH*DK)                                                ASA09210
  922.       CAD = (EAD+1./EAD)/2.                                             ASA09220
  923.       CBD = COS(BETA*DK)                                                ASA09230
  924.       SAD = DK                                                          ASA09240
  925.       IF (ALPH.NE.0.) SAD=(EAD-1./EAD)/(2.*ALPH)                        ASA09250
  926.       SBD = DK                                                          ASA09260
  927.       IF (BETA.NE.0.) SBD=SIN(BETA*DK)/BETA                             ASA09270
  928.       FA = RH*(SAD*CAD-SBD*CBD)/DEN                                     ASA09280
  929.       FB = 2.*RH*(CAD*SBD-SAD*CBD)/DEN                                  ASA09290
  930.       CJA = CG(K)                                                       ASA09300
  931.       L = K+NM                                                          ASA09310
  932.       CJB = CG(L)                                                       ASA09320
  933.     1 DISS = DISS+FA*(CABS(CJA)**2+CABS(CJB)**2)+FB*(REAL(CJA)*REAL(CJB)ASA09330
  934.      1+AIMAG(CJA)*AIMAG(CJB))                                           ASA09340
  935. C                                                                       ASA09350
  936. C                                                                       ASA09360
  937.     2 DO 3 J=1,NM                                                       ASA09370
  938.       K = J+NM                                                          ASA09380
  939.     3 DISS = DISS+REAL(ZLD(J))*(CABS(CG(J))**2)+REAL(ZLD(K))*(CABS(CG(K)ASA09390
  940.      1)**2)                                                             ASA09400
  941. C                                                                       ASA09410
  942.       RETURN                                                            ASA09420
  943.       END                                                               ASA09430
  944.       SUBROUTINE GFF (XA,YA,ZA,XB,YB,ZB,D,CGD,SGD,CTH,STH,CPH,SPH,GAM,ETASA09440
  945.      1A,ET1,ET2,EP1,EP2,IGRD,ERR)                                       ASA09450
  946.       COMPLEX ERR,RV,RH,RR,EX,EY,EZ,EE                                  ASA09460
  947.       COMPLEX ET1,ET2,EP1,EP2,GAM,ETA                                   ASA09470
  948.       COMPLEX GD,CGD,SGD,EGD                                            ASA09480
  949.       COMPLEX EGFA,EGFB,EGGD,ESA,ESB                                    ASA09490
  950.       COMPLEX CST                                                       ASA09500
  951.       FP = 12.56637                                                     ASA09510
  952.       XAB = XB-XA                                                       ASA09520
  953.       YAB = YB-YA                                                       ASA09530
  954.       ZAB = ZB-ZA                                                       ASA09540
  955.       CA = XAB/D                                                        ASA09550
  956.       CB = YAB/D                                                        ASA09560
  957.       CG = ZAB/D                                                        ASA09570
  958.       G = (CA*CPH+CB*SPH)*STH+CG*CTH                                    ASA09580
  959.       GK = 1.-G*G                                                       ASA09590
  960.       ET1 = (.0,.0)                                                     ASA09600
  961.       ET2 = (.0,.0)                                                     ASA09610
  962.       EP1 = (.0,.0)                                                     ASA09620
  963.       EP2 = (.0,.0)                                                     ASA09630
  964.       IF (GK.LT..001) GO TO 3                                           ASA09640
  965.       FA = (XA*CPH+YA*SPH)*STH+ZA*CTH                                   ASA09650
  966.       FB = (XB*CPH+YB*SPH)*STH+ZB*CTH                                   ASA09660
  967.       EGFA = CEXP(GAM*FA)                                               ASA09670
  968.       EGFB = CEXP(GAM*FB)                                               ASA09680
  969.       EGGD = CEXP(GAM*G*D)                                              ASA09690
  970.       CST = ETA/(GK*SGD*FP)                                             ASA09700
  971.       ESA = CST*EGFA*(EGGD-G*SGD-CGD)                                   ASA09710
  972.       ESB = CST*EGFB*(1./EGGD+G*SGD-CGD)                                ASA09720
  973.       IF (IGRD.LE.0) GO TO 2                                            ASA09730
  974.       RV = (-1.,0.)                                                     ASA09740
  975.       RH = (-1.,0.)                                                     ASA09750
  976.       IF (IGRD.EQ.1) GO TO 1                                            ASA09760
  977.       RR = CSQRT(ERR-STH*STH)                                           ASA09770
  978.       RV = -(ERR*CTH-RR)/(ERR*CTH+RR)                                   ASA09780
  979.       RH = (CTH-RR)/(CTH+RR)                                            ASA09790
  980.     1 EX = CA*ESA                                                       ASA09800
  981.       EY = CB*ESA                                                       ASA09810
  982.       EZ = CG*ESA                                                       ASA09820
  983.       EE = (EX*SPH-EY*CPH)*(RH-RV)                                      ASA09830
  984.       EX = EX*RV+EE*SPH                                                 ASA09840
  985.       EY = EY*RV-EE*CPH                                                 ASA09850
  986.       EZ = -EZ*RV                                                       ASA09860
  987.       ESA=-EX*CA-EY*CB+EZ*CG                                            ASA09870
  988.       EX = CA*ESB                                                       ASA09880
  989.       EY = CB*ESB                                                       ASA09890
  990.       EZ = CG*ESB                                                       ASA09900
  991.       EE = (EX*SPH-EY*CPH)*(RH-RV)                                      ASA09910
  992.       EX = EX*RV+EE*SPH                                                 ASA09920
  993.       EY = EY*RV-EE*CPH                                                 ASA09930
  994.       EZ = -EZ*RV                                                       ASA09940
  995.       ESB=-EX*CA-EY*CB+EZ*CG                                            ASA09950
  996.     2 T = (CA*CPH+CB*SPH)*CTH-CG*STH                                    ASA09960
  997.       P = -CA*SPH+CB*CPH                                                ASA09970
  998.       ET1 = T*ESA                                                       ASA09980
  999.       ET2 = T*ESB                                                       ASA09990
  1000.       EP1 = P*ESA                                                       ASA10000
  1001.       EP2 = P*ESB                                                       ASA10010
  1002.     3 CONTINUE                                                          ASA10020
  1003.       RETURN                                                            ASA10030
  1004.       END                                                               ASA10040
  1005.       SUBROUTINE GFFLD (IA,IB,INC,INM,IWR,I1,I2,I3,I12,MD,N,ND,NM,AM,ACSASA10050
  1006.      1P,ACST,C,CGD,CG,CJ,CMM,D,ECSP,ECST,EP,ET,EPP,ETT,EPPS,EPTS,ETPS,ETASA10060
  1007.      2TS,GG,GPP,GTT,PH,SGD,SCSP,SCST,SPPM,SPTM,STPM,STTM,TH,X,Y,Z,ZLD,ZSASA10070
  1008.      3,ETA,GAM,ERR,IGRD)                                                ASA10080
  1009.       COMPLEX ERR                                                       ASA10090
  1010.       COMPLEX CJI,ET1,ET2,EP1,EP2,EPPS,ETTS,EPTS,ETPS,ZS,VP,VT          ASA10100
  1011.       COMPLEX C(1),CJ(1),EP(1),ET(1),EPP(1),ETT(1),ZLD(1)               ASA10110
  1012.       COMPLEX ETA,GAM,CGD(1),SGD(1),CG(1)                               ASA10120
  1013.       DIMENSION IA(1), IB(1), I1(1), I2(1), I3(1), ND(1), MD(INM,4)     ASA10130
  1014.       DIMENSION D(1), X(1), Y(1), Z(1)                                  ASA10140
  1015.       DATA PI,TP/3.14159,6.28318/                                       ASA10150
  1016.       CJI = -4.*PI/(ETA*GAM)                                            ASA10160
  1017.       GGG = REAL(1./ETA)                                                ASA10170
  1018.       THR = .0174533*TH                                                 ASA10180
  1019.       CTH = COS(THR)                                                    ASA10190
  1020.       STH = SIN(THR)                                                    ASA10200
  1021.       PHR = .0174533*PH                                                 ASA10210
  1022.       CPH = COS(PHR)                                                    ASA10220
  1023.       SPH = SIN(PHR)                                                    ASA10230
  1024. C                                                                       ASA10240
  1025.       DO 1 I=1,N                                                        ASA10250
  1026.       ETT(I) = (.0,.0)                                                  ASA10260
  1027.     1 EPP(I) = (.0,.0)                                                  ASA10270
  1028. C                                                                       ASA10280
  1029. C                                                                       ASA10290
  1030.       DO 3 K=1,NM                                                       ASA10300
  1031.       KA = IA(K)                                                        ASA10310
  1032.       KB = IB(K)                                                        ASA10320
  1033.       NGRD = IGRD                                                       ASA10330
  1034.       IF (K.LE.NM/2) IGRD=-1                                            ASA10340
  1035.       CALL GFF (X(KA),Y(KA),Z(KA),X(KB),Y(KB),Z(KB),D(K),CGD(K),SGD(K),CASA10350
  1036.      1TH,STH,CPH,SPH,GAM,ETA,ET1,ET2,EP1,EP2,IGRD,ERR)                  ASA10360
  1037.       IGRD = NGRD                                                       ASA10370
  1038.       NDK = ND(K)                                                       ASA10380
  1039. C                                                                       ASA10390
  1040.       DO 3 II=1,NDK                                                     ASA10400
  1041.       I = MD(K,II)                                                      ASA10410
  1042.       FI = 1.                                                           ASA10420
  1043.       IF (KB.EQ.I2(I)) GO TO 2                                          ASA10430
  1044.       IF (KB.EQ.I1(I)) FI=-1.                                           ASA10440
  1045.       EPP(I) = EPP(I)+FI*EP1                                            ASA10450
  1046.       ETT(I) = ETT(I)+FI*ET1                                            ASA10460
  1047.       GO TO 3                                                           ASA10470
  1048.     2 IF (KA.EQ.I3(I)) FI=-1.                                           ASA10480
  1049.       EPP(I) = EPP(I)+FI*EP2                                            ASA10490
  1050.       ETT(I) = ETT(I)+FI*ET2                                            ASA10500
  1051.     3 CONTINUE                                                          ASA10510
  1052. C                                                                       ASA10520
  1053.       EPPS = (.0,.0)                                                    ASA10530
  1054.       ETTS = (.0,.0)                                                    ASA10540
  1055.       IF (INC.EQ.0) GO TO 8                                             ASA10550
  1056.       IF (INC.EQ.2) GO TO 6                                             ASA10560
  1057. C                                                                       ASA10570
  1058.       DO 4 I=1,N                                                        ASA10580
  1059.       ET(I) = ETT(I)*CJI                                                ASA10590
  1060.     4 EP(I) = EPP(I)*CJI                                                ASA10600
  1061. C                                                                       ASA10610
  1062.       CALL SQROT (C,EP,0,I12,N)                                         ASA10620
  1063.       I12 = 2                                                           ASA10630
  1064.       CALL SQROT (C,ET,0,I12,N)                                         ASA10640
  1065.       IF (IWR.GT.0) WRITE (6,10) PH,TH                                  ASA10650
  1066.       IF (IWR.GT.0) WRITE (6,11)                                        ASA10660
  1067.       CALL RITE (IA,IB,INM,IWR,I1,I2,I3,MD,ND,NM,EP,CG,IGRD)            ASA10670
  1068.       CALL GDISS (AM,CG,CMM,D,PDIS,GAM,NM,SGD,ZLD,ZS)                   ASA10680
  1069.       IF (IWR.GT.0) WRITE (6,12)                                        ASA10690
  1070.       CALL RITE (IA,IB,INM,IWR,I1,I2,I3,MD,ND,NM,ET,CG,IGRD)            ASA10700
  1071.       CALL GDISS (AM,CG,CMM,D,TDIS,GAM,NM,SGD,ZLD,ZS)                   ASA10710
  1072.       ACSP = PDIS/GGG                                                   ASA10720
  1073.       ACST = TDIS/GGG                                                   ASA10730
  1074.       PIN = .0                                                          ASA10740
  1075.       TIN = .0                                                          ASA10750
  1076. C                                                                       ASA10760
  1077.       DO 5 I=1,N                                                        ASA10770
  1078.       VP = CJI*EPP(I)                                                   ASA10780
  1079.       VT = CJI*ETT(I)                                                   ASA10790
  1080.       PIN = PIN+REAL(VP*CONJG(EP(I)))                                   ASA10800
  1081.     5 TIN = TIN+REAL(VT*CONJG(ET(I)))                                   ASA10810
  1082. C                                                                       ASA10820
  1083.       ECSP = PIN/GGG                                                    ASA10830
  1084.       ECST = TIN/GGG                                                    ASA10840
  1085.       SCSP = ECSP-ACSP                                                  ASA10850
  1086.       SCST = ECST-ACST                                                  ASA10860
  1087.     6 EPTS = (.0,.0)                                                    ASA10870
  1088.       ETPS = (.0,.0)                                                    ASA10880
  1089. C                                                                       ASA10890
  1090.       DO 7 I=1,N                                                        ASA10900
  1091.       EPPS = EPPS+EP(I)*EPP(I)                                          ASA10910
  1092.       EPTS = EPTS+EP(I)*ETT(I)                                          ASA10920
  1093.       ETTS = ETTS+ET(I)*ETT(I)                                          ASA10930
  1094.     7 ETPS = ETPS+ET(I)*EPP(I)                                          ASA10940
  1095. C                                                                       ASA10950
  1096.       SPPM = 2.*TP*(CABS(EPPS)**2)                                      ASA10960
  1097.       SPTM = 2.*TP*(CABS(EPTS)**2)                                      ASA10970
  1098.       STPM = 2.*TP*(CABS(ETPS)**2)                                      ASA10980
  1099.       STTM = 2.*TP*(CABS(ETTS)**2)                                      ASA10990
  1100.       RETURN                                                            ASA11000
  1101. C                                                                       ASA11010
  1102.     8 DO 9 I=1,N                                                        ASA11020
  1103.       ETTS = ETTS+CJ(I)*ETT(I)                                          ASA11030
  1104.     9 EPPS = EPPS+CJ(I)*EPP(I)                                          ASA11040
  1105. C                                                                       ASA11050
  1106.       APP = CABS(EPPS)                                                  ASA11060
  1107.       ATT = CABS(ETTS)                                                  ASA11070
  1108.       GPP = 4.*PI*APP*APP*GGG/GG                                        ASA11080
  1109.       GTT = 4.*PI*ATT*ATT*GGG/GG                                        ASA11090
  1110.       RETURN                                                            ASA11100
  1111. C                                                                       ASA11110
  1112.    10 FORMAT (10X,'BRANCH CURRENTS ASSOCIATED WITH PLANE-WAVE SCATTERINGASA11120
  1113.      1 FOR THE INCIDENT ANGLES, PHI=',F5.1,' AND THETA=',F5.1//)        ASA11130
  1114.    11 FORMAT (44X,'CURRENTS INDUCED BY THE PHI POLARIZED WAVE')         ASA11140
  1115.    12 FORMAT (44X,'CURRENTS INDUCED BY THE THETA POLARIZED WAVE')       ASA11150
  1116.       END                                                               ASA11160
  1117.       SUBROUTINE GGS (XA,YA,ZA,XB,YB,ZB,X1,Y1,Z1,X2,Y2,Z2,AM,DS,CGDS,SGDASA11170
  1118.      1S,DT,SGDT,INT,ETA,GAM,P11,P12,P21,P22,ERR,IGRD)                   ASA11180
  1119.       COMPLEX EX1,EY1,EX2,EY2,EZ1,EZ2                                   ASA11190
  1120.       COMPLEX P11,P12,P21,P22,EJA,EJB,EJ1,EJ2,ETA,GAM,C1,C2,CST         ASA11200
  1121.       COMPLEX EGD,CGDS,SGDS,SGDT,ER1,ER2,ET1,ET2                        ASA11210
  1122.       COMPLEX ERR                                                       ASA11220
  1123.       COMPLEX EE,EXX,EYY                                                ASA11230
  1124.       COMPLEX PP,PX,PY,PZ                                               ASA11240
  1125.       COMPLEX RR1,RR2,RR3,RR4,RH1,RV1,RH2,RV2,RH3,RV3,RH4,RV4           ASA11250
  1126.       DATA FP/12.56637/                                                 ASA11260
  1127.       CA = (X2-X1)/DT                                                   ASA11270
  1128.       CB = (Y2-Y1)/DT                                                   ASA11280
  1129.       CG = (Z2-Z1)/DT                                                   ASA11290
  1130.       CAS = (XB-XA)/DS                                                  ASA11300
  1131.       CBS = (YB-YA)/DS                                                  ASA11310
  1132.       CGS = (ZB-ZA)/DS                                                  ASA11320
  1133.       CC = CA*CAS+CB*CBS+CG*CGS                                         ASA11330
  1134.       IF ((CG.LE..003).AND.(CGS.LE..003).AND.(IGRD.GT.0)) GO TO 1       ASA11340
  1135.       IF (ABS(CC).GT..997) GO TO 6                                      ASA11350
  1136.     1 SZ = (X1-XA)*CAS+(Y1-YA)*CBS+(Z1-ZA)*CGS                          ASA11360
  1137.       IF (INT.LE.0) GO TO 7                                             ASA11370
  1138.       INS = 2*(INT/2)                                                   ASA11380
  1139.       IF (INS.LT.2) INS = 2                                             ASA11390
  1140.       IP = INS+1                                                        ASA11400
  1141.       DELT = DT/INS                                                     ASA11410
  1142.       T = .0                                                            ASA11420
  1143.       DSZ = CC*DELT                                                     ASA11430
  1144.       P11 = (.0,.0)                                                     ASA11440
  1145.       P12 = (.0,.0)                                                     ASA11450
  1146.       P21 = (.0,.0)                                                     ASA11460
  1147.       P22 = (.0,.0)                                                     ASA11470
  1148.       AMS = AM*AM                                                       ASA11480
  1149.       SGN = -1.                                                         ASA11490
  1150. C                                                                       ASA11500
  1151. C                                                                       ASA11510
  1152.       DO 5 IN=1,IP                                                      ASA11520
  1153.       ZZ1 = SZ                                                          ASA11530
  1154.       ZZ2 = SZ-DS                                                       ASA11540
  1155.       XXZ = X1+T*CA-XA-SZ*CAS                                           ASA11550
  1156.       YYZ = Y1+T*CB-YA-SZ*CBS                                           ASA11560
  1157.       ZZZ = Z1+T*CG-ZA-SZ*CGS                                           ASA11570
  1158.       RS = XXZ**2+YYZ**2+ZZZ**2                                         ASA11580
  1159.       R1 = SQRT(RS+ZZ1**2)                                              ASA11590
  1160.       EJA = CEXP(-GAM*R1)                                               ASA11600
  1161.       EJ1 = EJA/R1                                                      ASA11610
  1162.       R2 = SQRT(RS+ZZ2**2)                                              ASA11620
  1163.       EJB = CEXP(-GAM*R2)                                               ASA11630
  1164.       EJ2 = EJB/R2                                                      ASA11640
  1165.       ER1 = EJA*SGDS+ZZ1*EJ1*CGDS-ZZ2*EJ2                               ASA11650
  1166.       ER2 = -EJB*SGDS+ZZ2*EJ2*CGDS-ZZ1*EJ1                              ASA11660
  1167.       FAC = .0                                                          ASA11670
  1168.       IF (RS.GT.AMS) FAC = (CA*XXZ+CB*YYZ+CG*ZZZ)/RS                    ASA11680
  1169.       ET1 = CC*(EJ2-EJ1*CGDS)+FAC*ER1                                   ASA11690
  1170.       ET2 = CC*(EJ1-EJ2*CGDS)+FAC*ER2                                   ASA11700
  1171.       IF (IGRD.LT.0) GO TO 4                                            ASA11710
  1172.       RV1 = (-1.,0.)                                                    ASA11720
  1173.       RH1 = (-1.,0.)                                                    ASA11730
  1174.       RV2 = (-1.,0.)                                                    ASA11740
  1175.       RH2 = (-1.,0.)                                                    ASA11750
  1176.       IF (IGRD.EQ.1) GO TO 2                                            ASA11760
  1177.       XG1 = X1+T*CA-XA                                                  ASA11770
  1178.       YG1 = Y1+T*CB-YA                                                  ASA11780
  1179.       ZG1 = Z1+T*CG-ZA                                                  ASA11790
  1180.       XG2 = X1+T*CA-XB                                                  ASA11800
  1181.       YG2 = Y1+T*CB-YB                                                  ASA11810
  1182.       ZG2 = Z1+T*CG-ZB                                                  ASA11820
  1183.       RG1 = SQRT(XG1*XG1+YG1*YG1)                                       ASA11830
  1184.       RG2 = SQRT(XG2*XG2+YG2*YG2)                                       ASA11840
  1185.       TT1 = ATAN(RG1/ZG1)                                               ASA11850
  1186.       TT2 = ATAN(RG2/ZG2)                                               ASA11860
  1187.       CTH1 = COS(TT1)                                                   ASA11870
  1188.       SSTH1 = SIN(TT1)*SIN(TT1)                                         ASA11880
  1189.       CTH2 = COS(TT2)                                                   ASA11890
  1190.       SSTH2 = SIN(TT2)*SIN(TT2)                                         ASA11900
  1191.       RR1 = CSQRT(ERR-SSTH1)                                            ASA11910
  1192.       RH1 = (CTH1-RR1)/(CTH1+RR1)                                       ASA11920
  1193.       RV1 = -(ERR*CTH1-RR1)/(ERR*CTH1+RR1)                              ASA11930
  1194.       RR2 = CSQRT(ERR-SSTH2)                                            ASA11940
  1195.       RH2 = (CTH2-RR2)/(CTH2+RR2)                                       ASA11950
  1196.       RV2 = -(ERR*CTH2-RR2)/(ERR*CTH2+RR2)                              ASA11960
  1197.     2 RG = SQRT((XB-XA)*(XB-XA)+(YB-YA)*(YB-YA))                        ASA11970
  1198.       CPH = 0                                                           ASA11980
  1199.       SPH = 0                                                           ASA11990
  1200.       IF (RG.LT.1.E-32) GO TO 3                                         ASA12000
  1201.       CPH = (XB-XA)/RG                                                  ASA12010
  1202.       SPH = (YB-YA)/RG                                                  ASA12020
  1203.     3 EXX = ET1*CAS                                                     ASA12030
  1204.       EYY = ET1*CBS                                                     ASA12040
  1205.       EE = (EXX*SPH-EYY*CPH)*(RH1-RV1)                                  ASA12050
  1206.       EX1 = EXX*RV1+EE*SPH                                              ASA12060
  1207.       EY1 = EYY*RV1-EE*CPH                                              ASA12070
  1208.       EZ1 = -ET1*RV1*CGS                                                ASA12080
  1209.       ET1=-EX1*CAS-EY1*CBS+EZ1*CGS                                      ASA12090
  1210.       EXX = ET2*CAS                                                     ASA12100
  1211.       EYY = ET2*CBS                                                     ASA12110
  1212.       EE = (EXX*SPH-EYY*CPH)*(RH2-RV2)                                  ASA12120
  1213.       EX2 = EXX*RV2+EE*SPH                                              ASA12130
  1214.       EY2 = EYY*RV2-EE*CPH                                              ASA12140
  1215.       EZ2 = -ET2*CGS*RV2                                                ASA12150
  1216.       ET2=-EX2*CAS-EY2*CBS+EZ2*CGS                                      ASA12160
  1217.     4 C = 3.+SGN                                                        ASA12170
  1218.       IF (IN.EQ.1.OR.IN.EQ.IP) C=1.                                     ASA12180
  1219.       EGD = CEXP(GAM*(DT-T))                                            ASA12190
  1220.       C1 = C*(EGD-1./EGD)/2.                                            ASA12200
  1221.       EGD = CEXP(GAM*T)                                                 ASA12210
  1222.       C2 = C*(EGD-1./EGD)/2.                                            ASA12220
  1223.       P11 = P11+ET1*C1                                                  ASA12230
  1224.       P12 = P12+ET1*C2                                                  ASA12240
  1225.       P21 = P21+ET2*C1                                                  ASA12250
  1226.       P22 = P22+ET2*C2                                                  ASA12260
  1227.       T = T+DELT                                                        ASA12270
  1228.       SZ = SZ+DSZ                                                       ASA12280
  1229.     5 SGN = -SGN                                                        ASA12290
  1230. C                                                                       ASA12300
  1231. C                                                                       ASA12310
  1232.       CST = -ETA*DELT/(3.*FP*SGDS*SGDT)                                 ASA12320
  1233.       P11 = CST*P11                                                     ASA12330
  1234.       P12 = CST*P12                                                     ASA12340
  1235.       P21 = CST*P21                                                     ASA12350
  1236.       P22 = CST*P22                                                     ASA12360
  1237.       RETURN                                                            ASA12370
  1238.     6 SZ1 = (X1-XA)*CAS+(Y1-YA)*CBS+(Z1-ZA)*CGS                         ASA12380
  1239.       DR1 = SQRT((X1-XA-SZ1*CAS)**2+(Y1-YA-SZ1*CBS)**2+(Z1-ZA-SZ1*CGS)**ASA12390
  1240.      12)                                                                ASA12400
  1241.       SZ2 = SZ1+DT*CC                                                   ASA12410
  1242.       DR2 = SQRT((X2-XA-SZ2*CAS)**2+(Y2-YA-SZ2*CBS)**2+(Z2-ZA-SZ2*CGS)**ASA12420
  1243.      12)                                                                ASA12430
  1244.       DDD = (DR1+DR2)/2.                                                ASA12440
  1245.       IF (DDD.GT.20.*AM.AND.INT.GT.0) GO TO 1                           ASA12450
  1246.       IF (DDD.LT.AM) DDD = AM                                           ASA12460
  1247.       CALL GGMM (.0,DS,SZ1,SZ2,DDD,CGDS,SGDS,SGDT,1.,ETA,GAM,P11,P12,P21ASA12470
  1248.      1,P22)                                                             ASA12480
  1249.       IF (IGRD.LE.1) RETURN                                             ASA12490
  1250.       IF (IGRD.GT.1) GO TO 8                                            ASA12500
  1251. C                                                                       ASA12510
  1252.     7 SS = SQRT(1.-CC*CC)                                               ASA12520
  1253.       CAD = (CGS*CB-CBS*CG)/SS                                          ASA12530
  1254.       CBD = (CAS*CG-CGS*CA)/SS                                          ASA12540
  1255.       CGD = (CBS*CA-CAS*CB)/SS                                          ASA12550
  1256.       DK = (X1-XA)*CAD+(Y1-YA)*CBD+(Z1-ZA)*CGD                          ASA12560
  1257.       DK = ABS(DK)                                                      ASA12570
  1258.       IF (DK.LT.AM) DK = AM                                             ASA12580
  1259.       XZ = XA+SZ*CAS                                                    ASA12590
  1260.       YZ = YA+SZ*CBS                                                    ASA12600
  1261.       ZZ = ZA+SZ*CGS                                                    ASA12610
  1262.       XP1 = X1-DK*CAD                                                   ASA12620
  1263.       YP1 = Y1-DK*CBD                                                   ASA12630
  1264.       ZP1 = Z1-DK*CGD                                                   ASA12640
  1265.       CAP = CBS*CGD-CGS*CBD                                             ASA12650
  1266.       CBP = CGS*CAD-CAS*CGD                                             ASA12660
  1267.       CGP = CAS*CBD-CBS*CAD                                             ASA12670
  1268.       P1 = CAP*(XP1-XZ)+CBP*(YP1-YZ)+CGP*(ZP1-ZZ)                       ASA12680
  1269.       T1 = P1/SS                                                        ASA12690
  1270.       S1 = T1*CC-SZ                                                     ASA12700
  1271.       CALL GGMM (S1,S1+DS,T1,T1+DT,DK,CGDS,SGDS,SGDT,CC,ETA,GAM,P11,P12,ASA12710
  1272.      1P21,P22)                                                          ASA12720
  1273.       RETURN                                                            ASA12730
  1274. C                                                                       ASA12740
  1275.     8 AMS = AM*AM                                                       ASA12750
  1276.       RG = (X1-XA)*(X1-XA)+(Y1-YA)*(Y1-YA)                              ASA12760
  1277.       IF (RG.LT.AMS) RG = AMS                                           ASA12770
  1278.       DG = SQRT((Z1-ZA)*(Z1-ZA)+RG)                                     ASA12780
  1279.       CPH = ABS(Z1-ZA)/DG                                               ASA12790
  1280.       SSPH=RG/(DG*DG)                                                   ASA12800
  1281.       RR1 = CSQRT(ERR-SSPH)                                             ASA12810
  1282.       RV1 = -(ERR*CPH-RR1)/(ERR*CPH+RR1)                                ASA12820
  1283.       P11=-P11*RV1                                                      ASA12830
  1284.       RG = (X1-XB)*(X1-XB)+(Y1-YB)*(Y1-YB)                              ASA12840
  1285.       IF (RG.LT.AMS) RG = AMS                                           ASA12850
  1286.       DG = SQRT((Z1-ZB)*(Z1-ZB)+RG)                                     ASA12860
  1287.       CPH = ABS(Z1-ZB)/DG                                               ASA12870
  1288.       SSPH=RG/(DG*DG)                                                   ASA12880
  1289.       RR1 = CSQRT(ERR-SSPH)                                             ASA12890
  1290.       RV1 = -(ERR*CPH-RR1)/(ERR*CPH+RR1)                                ASA12900
  1291.       P12=-P12*RV1                                                      ASA12910
  1292.       RG = (X2-XA)*(X2-XA)+(Y2-YA)*(Y2-YA)                              ASA12920
  1293.       IF (RG.LT.AMS) RG = AMS                                           ASA12930
  1294.       DG = SQRT((Z2-ZA)*(Z2-ZA)+RG)                                     ASA12940
  1295.       CPH = ABS(Z2-ZA)/DG                                               ASA12950
  1296.       SSPH=RG/(DG*DG)                                                   ASA12960
  1297.       RR1 = CSQRT(ERR-SSPH)                                             ASA12970
  1298.       RV1 = -(ERR*CPH-RR1)/(ERR*CPH+RR1)                                ASA12980
  1299.       P21=-P21*RV1                                                      ASA12990
  1300.       RG = (X2-XB)*(X2-XB)+(Y2-YB)*(Y2-YB)                              ASA13000
  1301.       IF (RG.LT.AMS) RG = AMS                                           ASA13010
  1302.       DG = SQRT((Z2-ZB)*(Z2-ZB)+RG)                                     ASA13020
  1303.       CPH = ABS(Z2-ZB)/DG                                               ASA13030
  1304.       SSPH=RG/(DG*DG)                                                   ASA13040
  1305.       RR1 = CSQRT(ERR-SSPH)                                             ASA13050
  1306.       RV1 = -(ERR*CPH-RR1)/(ERR*CPH+RR1)                                ASA13060
  1307.       P22=-P22*RV1                                                      ASA13070
  1308.       RETURN                                                            ASA13080
  1309.       END                                                               ASA13090
  1310.       SUBROUTINE GGMM (S1,S2,T1,T2,D,CGDS,SGD1,SGD2,CPSI,ETA,GAM,P11,P12ASA13100
  1311.      1,P21,P22)                                                         ASA13110
  1312.       DOUBLE PRECISION R1,R2,DPQ,SIS,TS1,TS2,ST1,ST2,CD,BD,CPSS,SK,TL1,TASA13120
  1313.      1L2,TD1,TD2,SDI,DPSI,DD,ZD                                         ASA13130
  1314.       COMPLEX CGDS,SGDS,SGDT,SGD1,SGD2,ETA,GAM,P11,P12,P21,P22          ASA13140
  1315.       COMPLEX CST,EB,EC,EK,EL,EKL,EGZI,ES1,ES2,ET1,ET2,EXPA,EXPB        ASA13150
  1316.       COMPLEX E(2,2),F(2,2)                                             ASA13160
  1317.       COMPLEX EGZ(2,2),GM(2),GP(2)                                      ASA13170
  1318.       DATA PI/3.14159/                                                  ASA13180
  1319.       DSQ = D*D                                                         ASA13190
  1320.       SGDS = SGD1                                                       ASA13200
  1321.       IF (S2.LT.S1) SGDS = -SGD1                                        ASA13210
  1322.       SGDT = SGD2                                                       ASA13220
  1323.       IF (T2.LT.T1) SGDT = -SGD2                                        ASA13230
  1324.       IF (ABS(CPSI).GT..997) GO TO 5                                    ASA13240
  1325.       ES1 = CEXP(GAM*S1)                                                ASA13250
  1326.       ES2 = CEXP(GAM*S2)                                                ASA13260
  1327.       ET1 = CEXP(GAM*T1)                                                ASA13270
  1328.       ET2 = CEXP(GAM*T2)                                                ASA13280
  1329.       DD = D                                                            ASA13290
  1330.       DPSI = CPSI                                                       ASA13300
  1331.       TD1 = T1                                                          ASA13310
  1332.       TD2 = T2                                                          ASA13320
  1333.       CPSS = DPSI*DPSI                                                  ASA13330
  1334.       CD = DD/DSQRT(1.D0-CPSS)                                          ASA13340
  1335.       C = CD                                                            ASA13350
  1336.       BD = CD*DPSI                                                      ASA13360
  1337.       B = BD                                                            ASA13370
  1338.       EB = CEXP(GAM*CMPLX(.0,B))                                        ASA13380
  1339.       EC = CEXP(GAM*CMPLX(.0,C))                                        ASA13390
  1340. C                                                                       ASA13400
  1341.       DO 1 K=1,2                                                        ASA13410
  1342. C                                                                       ASA13420
  1343.       DO 1 L=1,2                                                        ASA13430
  1344.     1 E(K,L) = (.0,.0)                                                  ASA13440
  1345. C                                                                       ASA13450
  1346.       TS1 = TD1*TD1                                                     ASA13460
  1347.       TS2 = TD2*TD2                                                     ASA13470
  1348.       DPQ = DD*DD                                                       ASA13480
  1349.       SI = S1                                                           ASA13490
  1350. C                                                                       ASA13500
  1351.       DO 4 I=1,2                                                        ASA13510
  1352.       FI = (-1)**I                                                      ASA13520
  1353.       SDI = SI                                                          ASA13530
  1354.       SIS = SDI*SDI                                                     ASA13540
  1355.       ST1 = 2.*SDI*TD1*DPSI                                             ASA13550
  1356.       ST2 = 2.*SDI*TD2*DPSI                                             ASA13560
  1357.       R1 = DSQRT(DPQ+SIS+TS1-ST1)                                       ASA13570
  1358.       R2 = DSQRT(DPQ+SIS+TS2-ST2)                                       ASA13580
  1359.       EK = EB                                                           ASA13590
  1360. C                                                                       ASA13600
  1361.       DO 3 K=1,2                                                        ASA13610
  1362.       FK = (-1)**K                                                      ASA13620
  1363.       SK = FK*SDI                                                       ASA13630
  1364.       EL = EC                                                           ASA13640
  1365. C                                                                       ASA13650
  1366.       DO 2 L=1,2                                                        ASA13660
  1367.       FL = (-1)**L                                                      ASA13670
  1368.       EKL = EK*EL                                                       ASA13680
  1369.       XX = FK*BD+FL*CD                                                  ASA13690
  1370.       TL1 = FL*TD1                                                      ASA13700
  1371.       TL2 = FL*TD2                                                      ASA13710
  1372.       RR1 = R1+SK+TL1                                                   ASA13720
  1373.       RR2 = R2+SK+TL2                                                   ASA13730
  1374.       CALL EXPJ (GAM*CMPLX(RR1,-XX),GAM*CMPLX(RR2,-XX),EXPA)            ASA13740
  1375.       CALL EXPJ (GAM*CMPLX(RR1,XX),GAM*CMPLX(RR2,XX),EXPB)              ASA13750
  1376.       E(K,L) = E(K,L)+FI*(EXPA*EKL+EXPB/EKL)                            ASA13760
  1377.     2 EL = 1./EC                                                        ASA13770
  1378. C                                                                       ASA13780
  1379.     3 EK = 1./EB                                                        ASA13790
  1380. C                                                                       ASA13800
  1381.       ZD = SDI*DPSI                                                     ASA13810
  1382.       ZC = ZD                                                           ASA13820
  1383.       EGZI = CEXP(GAM*ZC)                                               ASA13830
  1384.       RR1 = R1+ZD-TD1                                                   ASA13840
  1385.       RR2 = R2+ZD-TD2                                                   ASA13850
  1386.       CALL EXPJ (GAM*RR1,GAM*RR2,EXPB)                                  ASA13860
  1387.       RR1 = R1-ZD+TD1                                                   ASA13870
  1388.       RR2 = R2-ZD+TD2                                                   ASA13880
  1389.       CALL EXPJ (GAM*RR1,GAM*RR2,EXPA)                                  ASA13890
  1390.       F(I,1) = 2.*SGDS*EXPA/EGZI                                        ASA13900
  1391.       F(I,2) = 2.*SGDS*EXPB*EGZI                                        ASA13910
  1392.     4 SI = S2                                                           ASA13920
  1393. C                                                                       ASA13930
  1394.       CST = ETA/(16.*PI*SGDS*SGDT)                                      ASA13940
  1395.       P11 = CST*((F(1,1)+E(2,2)*ES2-E(1,2)/ES2)*ET2+(-F(1,2)-E(2,1)*ES2+ASA13950
  1396.      1E(1,1)/ES2)/ET2)                                                  ASA13960
  1397.       P12 = CST*((-F(1,1)-E(2,2)*ES2+E(1,2)/ES2)*ET1+(F(1,2)+E(2,1)*ES2-ASA13970
  1398.      1E(1,1)/ES2)/ET1)                                                  ASA13980
  1399.       P21 = CST*((-F(2,1)-E(2,2)*ES1+E(1,2)/ES1)*ET2+(F(2,2)+E(2,1)*ES1-ASA13990
  1400.      1E(1,1)/ES1)/ET2)                                                  ASA14000
  1401.       P22 = CST*((F(2,1)+E(2,2)*ES1-E(1,2)/ES1)*ET1+(-F(2,2)-E(2,1)*ES1+ASA14010
  1402.      1E(1,1)/ES1)/ET1)                                                  ASA14020
  1403.       RETURN                                                            ASA14030
  1404.     5 IF (CPSI.LT.0.) GO TO 6                                           ASA14040
  1405.       TA = T1                                                           ASA14050
  1406.       TB = T2                                                           ASA14060
  1407.       GO TO 7                                                           ASA14070
  1408.     6 TA = -T1                                                          ASA14080
  1409.       TB = -T2                                                          ASA14090
  1410.       SGDT = -SGDT                                                      ASA14100
  1411.     7 SI = S1                                                           ASA14110
  1412. C                                                                       ASA14120
  1413.       DO 9 I=1,2                                                        ASA14130
  1414.       TJ = TA                                                           ASA14140
  1415. C                                                                       ASA14150
  1416.       DO 8 J=1,2                                                        ASA14160
  1417.       ZIJ = TJ-SI                                                       ASA14170
  1418.       R = SQRT(DSQ+ZIJ*ZIJ)                                             ASA14180
  1419.       W = R+ZIJ                                                         ASA14190
  1420.       IF (ZIJ.LT.0.) W = DSQ/(R-ZIJ)                                    ASA14200
  1421.       V = R-ZIJ                                                         ASA14210
  1422.       IF (ZIJ.GT.0.) V = DSQ/(R+ZIJ)                                    ASA14220
  1423.       IF (J.EQ.1) V1 = V                                                ASA14230
  1424.       IF (J.EQ.1) W1 = W                                                ASA14240
  1425.       EGZ(I,J) = CEXP(GAM*ZIJ)                                          ASA14250
  1426.     8 TJ = TB                                                           ASA14260
  1427. C                                                                       ASA14270
  1428.       CALL EXPJ (GAM*V1,GAM*V,GP(I))                                    ASA14280
  1429.       CALL EXPJ (GAM*W1,GAM*W,GM(I))                                    ASA14290
  1430.     9 SI = S2                                                           ASA14300
  1431. C                                                                       ASA14310
  1432.       CST = -ETA/(8.*PI*SGDS*SGDT)                                      ASA14320
  1433.       P11 = CST*(GM(2)*EGZ(2,2)+GP(2)/EGZ(2,2)-CGDS*(GM(1)*EGZ(1,2)+GP(1ASA14330
  1434.      1)/EGZ(1,2)))                                                      ASA14340
  1435.       P12 = CST*(-GM(2)*EGZ(2,1)-GP(2)/EGZ(2,1)+CGDS*(GM(1)*EGZ(1,1)+GP(ASA14350
  1436.      11)/EGZ(1,1)))                                                     ASA14360
  1437.       P21 = CST*(GM(1)*EGZ(1,2)+GP(1)/EGZ(1,2)-CGDS*(GM(2)*EGZ(2,2)+GP(2ASA14370
  1438.      1)/EGZ(2,2)))                                                      ASA14380
  1439.       P22 = CST*(-GM(1)*EGZ(1,1)-GP(1)/EGZ(1,1)+CGDS*(GM(2)*EGZ(2,1)+GP(ASA14390
  1440.      12)/EGZ(2,1)))                                                     ASA14400
  1441.       RETURN                                                            ASA14410
  1442.       END                                                               ASA14420
  1443.       SUBROUTINE GNF (XA,YA,ZA,XB,YB,ZB,X,Y,Z,AM,DS,CGDS,SGDS,ETA,GAM,EXASA14430
  1444.      11,EY1,EZ1,EX2,EY2,EZ2,IGRD,ERR)                                   ASA14440
  1445.       COMPLEX ERR,RV1,RH1,RV2,RH2,RR1,RR2,EE                            ASA14450
  1446.       COMPLEX EJA,EJB,EJ1,EJ2,ER1,ER2,ES1,ES2,SGDS,GAM,CST,CGDS,ETA     ASA14460
  1447.       COMPLEX EX1,EY1,EZ1,EX2,EY2,EZ2                                   ASA14470
  1448.       DATA PI/3.14159/                                                  ASA14480
  1449.       CAS = (XB-XA)/DS                                                  ASA14490
  1450.       CBS = (YB-YA)/DS                                                  ASA14500
  1451.       CGS = (ZB-ZA)/DS                                                  ASA14510
  1452.       SZ = (X-XA)*CAS+(Y-YA)*CBS+(Z-ZA)*CGS                             ASA14520
  1453.       ZZ1 = SZ                                                          ASA14530
  1454.       ZZ2 = SZ-DS                                                       ASA14540
  1455.       XXZ = X-XA-SZ*CAS                                                 ASA14550
  1456.       YYZ = Y-YA-SZ*CBS                                                 ASA14560
  1457.       ZZZ = Z-ZA-SZ*CGS                                                 ASA14570
  1458.       RS = XXZ**2+YYZ**2+ZZZ**2                                         ASA14580
  1459.       R1 = SQRT(RS+ZZ1**2)                                              ASA14590
  1460.       EJA = CEXP(-GAM*R1)                                               ASA14600
  1461.       EJ1 = EJA/R1                                                      ASA14610
  1462.       R2 = SQRT(RS+ZZ2**2)                                              ASA14620
  1463.       EJB = CEXP(-GAM*R2)                                               ASA14630
  1464.       EJ2 = EJB/R2                                                      ASA14640
  1465.       ES1 = EJ2-EJ1*CGDS                                                ASA14650
  1466.       ES2 = EJ1-EJ2*CGDS                                                ASA14660
  1467.       ER1 = (.0,.0)                                                     ASA14670
  1468.       ER2 = (.0,.0)                                                     ASA14680
  1469.       AMS = AM*AM                                                       ASA14690
  1470.       IF (RS.LT.AMS) GO TO 1                                            ASA14700
  1471.       CTH1 = ZZ1/R1                                                     ASA14710
  1472.       CTH2 = ZZ2/R2                                                     ASA14720
  1473.       ER1 = (EJA*SGDS+EJA*CGDS*CTH1-EJB*CTH2)/RS                        ASA14730
  1474.       ER2 = (-EJB*SGDS+EJB*CGDS*CTH2-EJA*CTH1)/RS                       ASA14740
  1475.     1 CST = ETA/(4.*PI*SGDS)                                            ASA14750
  1476.       EX1 = CST*(ES1*CAS+ER1*XXZ)                                       ASA14760
  1477.       EY1 = CST*(ES1*CBS+ER1*YYZ)                                       ASA14770
  1478.       EZ1 = CST*(ES1*CGS+ER1*ZZZ)                                       ASA14780
  1479.       EX2 = CST*(ES2*CAS+ER2*XXZ)                                       ASA14790
  1480.       EY2 = CST*(ES2*CBS+ER2*YYZ)                                       ASA14800
  1481.       EZ2 = CST*(ES2*CGS+ER2*ZZZ)                                       ASA14810
  1482.       IF (IGRD.LE.0) RETURN                                             ASA14820
  1483.       RV1 = (-1.,0.)                                                    ASA14830
  1484.       RH1 = (-1.,0.)                                                    ASA14840
  1485.       RV2 = (-1.,0.)                                                    ASA14850
  1486.       RH2 = (-1.,0.)                                                    ASA14860
  1487.       IF (IGRD.EQ.1) GO TO 2                                            ASA14870
  1488.       R1 = SQRT((XA-X)*(XA-X)+(YA-Y)*(YA-Y))                            ASA14880
  1489.       R2 = SQRT((XB-X)*(XB-X)+(YB-Y)*(YB-Y))                            ASA14890
  1490.       TH1 = ATAN(R1/(ZA-Z))                                             ASA14900
  1491.       TH2 = ATAN(R2/(ZB-Z))                                             ASA14910
  1492.       RR1 = CSQRT(ERR-SIN(TH1)*SIN(TH1))                                ASA14920
  1493.       RR2 = CSQRT(ERR-SIN(TH2)*SIN(TH2))                                ASA14930
  1494.       RV1 = -(ERR*COS(TH1)-RR1)/(ERR*COS(TH1)+RR1)                      ASA14940
  1495.       RH1 = (COS(TH1)-RR1)/(COS(TH1)+RR1)                               ASA14950
  1496.       RV2 = -(ERR*COS(TH2)-RR2)/(ERR*COS(TH2)+RR2)                      ASA14960
  1497.       RH2 = (COS(TH2)-RR2)/(COS(TH2)+RR2)                               ASA14970
  1498.     2 RG = SQRT((XA-XB)*(XA-XB)+(YA-YB)*(YA-YB))                        ASA14980
  1499.       CPH = 0                                                           ASA14990
  1500.       SPH = 0                                                           ASA15000
  1501.       IF (RG.LT.1.E-32) GO TO 3                                         ASA15010
  1502.       CPH = (XB-XA)/RG                                                  ASA15020
  1503.       SPH = (YB-YA)/RG                                                  ASA15030
  1504.     3 EE = (EX1*SPH-EY1*CPH)*(RH1-RV1)                                  ASA15040
  1505.       EX1=-EX1*RV1+EE*SPH                                               ASA15050
  1506.       EY1=-EY1*RV1-EE*CPH                                               ASA15060
  1507.       EZ1 = EZ1*(-RV1)                                                  ASA15070
  1508.       EE = (EX2*SPH-EY2*CPH)*(RH2-RV2)                                  ASA15080
  1509.       EX2=-EX2*RV2+EE*SPH                                               ASA15090
  1510.       EY2=-EY2*RV2-EE*CPH                                               ASA15100
  1511.       EZ2 = EZ2*(-RV2)                                                  ASA15110
  1512.       RETURN                                                            ASA15120
  1513.       END                                                               ASA15130
  1514.       SUBROUTINE GNFLD (IA,IB,INM,I1,I2,I3,MD,N,ND,NM,AM,CGD,SGD,ETA,GAMASA15140
  1515.      1,CJ,D,X,Y,Z,XP,YP,ZP,EX,EY,EZ,IGRD,ERR)                           ASA15150
  1516.       COMPLEX EX,EY,EZ,EX1,EY1,EZ1,EX2,EY2,EZ2,ETA,GAM                  ASA15160
  1517.       COMPLEX ERR                                                       ASA15170
  1518.       COMPLEX CJ(1),CGD(1),SGD(1)                                       ASA15180
  1519.       DIMENSION IA(1), IB(1), I1(1), I2(1), I3(1), D(1), X(1), Y(1), Z(1ASA15190
  1520.      1)                                                                 ASA15200
  1521.       DIMENSION MD(INM,4), ND(1)                                        ASA15210
  1522.       DATA PI,TP/3.14159,6.28318/                                       ASA15220
  1523.       EX = (.0,.0)                                                      ASA15230
  1524.       EY = (.0,.0)                                                      ASA15240
  1525.       EZ = (.0,.0)                                                      ASA15250
  1526. C                                                                       ASA15260
  1527.       DO 2 K=1,NM                                                       ASA15270
  1528.       KA = IA(K)                                                        ASA15280
  1529.       KB = IB(K)                                                        ASA15290
  1530.       NGRD = IGRD                                                       ASA15300
  1531.       IF (K.LE.NM/2) IGRD=-1                                            ASA15310
  1532.       CALL GNF (X(KA),Y(KA),Z(KA),X(KB),Y(KB),Z(KB),XP,YP,ZP,AM,D(K),CGDASA15320
  1533.      1(K),SGD(K),ETA,GAM,EX1,EY1,EZ1,EX2,EY2,EZ2,IGRD,ERR)              ASA15330
  1534.       IGRD = NGRD                                                       ASA15340
  1535.       NDK = ND(K)                                                       ASA15350
  1536. C                                                                       ASA15360
  1537.       DO 2 II=1,NDK                                                     ASA15370
  1538.       I = MD(K,II)                                                      ASA15380
  1539.       FI = 1.                                                           ASA15390
  1540.       IF (KB.EQ.I2(I)) GO TO 1                                          ASA15400
  1541.       IF (KB.EQ.I1(I)) FI=-1.                                           ASA15410
  1542.       EX = EX+FI*EX1*CJ(I)                                              ASA15420
  1543.       EY = EY+FI*EY1*CJ(I)                                              ASA15430
  1544.       EZ = EZ+FI*EZ1*CJ(I)                                              ASA15440
  1545.       GO TO 2                                                           ASA15450
  1546.     1 IF (KA.EQ.I3(I)) FI=-1.                                           ASA15460
  1547.       EX = EX+FI*EX2*CJ(I)                                              ASA15470
  1548.       EY = EY+FI*EY2*CJ(I)                                              ASA15480
  1549.       EZ = EZ+FI*EZ2*CJ(I)                                              ASA15490
  1550.     2 CONTINUE                                                          ASA15500
  1551. C                                                                       ASA15510
  1552.       RETURN                                                            ASA15520
  1553.       END                                                               ASA15530
  1554.       SUBROUTINE LEFT (N)                                               ASA15540
  1555.       COMMON /A/ A(80)                                                  ASA15550
  1556.       DATA PLEFT/'('/                                                   ASA15560
  1557.       K = N                                                             ASA15570
  1558. C                                                                       ASA15580
  1559.       DO 1 I=K,80                                                       ASA15590
  1560.       N = I+1                                                           ASA15600
  1561.       IF (A(I).EQ.PLEFT) GO TO 2                                        ASA15610
  1562.     1 CONTINUE                                                          ASA15620
  1563. C                                                                       ASA15630
  1564.       N = 1                                                             ASA15640
  1565.     2 RETURN                                                            ASA15650
  1566.       END                                                               ASA15660
  1567.       SUBROUTINE LINECK (X,Y)                                           ASA15670
  1568. C                                                                       ASA15680
  1569. C     THIS SUBROUTINE INSURES ALL GRID CHARACTORS LIE ON THE POLAR GRID ASA15690
  1570. C                                                                       ASA15700
  1571.       COMMON ISYM,LINE                                                  ASA15710
  1572.       INTEGER Y                                                         ASA15720
  1573.       DIMENSION ISYM(14), LINE(130)                                     ASA15730
  1574.       IF (Y.EQ.0) GO TO 3                                               ASA15740
  1575.       K = 0                                                             ASA15750
  1576.       IF (X.LT.10.0) GO TO 5                                            ASA15760
  1577. C                                                                       ASA15770
  1578. C     SET UP AREAS OF "PERIOD" POLAR GRID POINT CHARACTERS              ASA15780
  1579. C                                                                       ASA15790
  1580.       I = INT(X)                                                        ASA15800
  1581.       I = IABS(I)                                                       ASA15810
  1582.       Z = ABS(X)                                                        ASA15820
  1583.       IF ((Z-I).GT.0.5) I=I+1                                           ASA15830
  1584.     1 IF (Z.LT.10.0.OR.Z.GT.111.0) GO TO 2                              ASA15840
  1585.       LINE(I) = ISYM(2)                                                 ASA15850
  1586.       LINE(60) = ISYM(3)                                                ASA15860
  1587.       LINE(62) = ISYM(3)                                                ASA15870
  1588.       K = K+1                                                           ASA15880
  1589.       IF (K.EQ.2) GO TO 2                                               ASA15890
  1590.       I = 122-I                                                         ASA15900
  1591.       GO TO 1                                                           ASA15910
  1592.     2 LINE(61) = ISYM(2)                                                ASA15920
  1593.       IF (Y.NE.0) GO TO 5                                               ASA15930
  1594. C                                                                       ASA15940
  1595.     3 DO 4 K=11,111                                                     ASA15950
  1596.       LINE(K) = ISYM(2)                                                 ASA15960
  1597.     4 CONTINUE                                                          ASA15970
  1598. C                                                                       ASA15980
  1599. C                                                                       ASA15990
  1600. C     FILL IN GRID NUMBER LABELS ON HORIZONTAL AXIS                     ASA16000
  1601. C                                                                       ASA16010
  1602.       LINE(11) = ISYM(7)                                                ASA16020
  1603.       LINE(20) = ISYM(10)                                               ASA16030
  1604.       LINE(21) = ISYM(5)                                                ASA16040
  1605.       LINE(22) = ISYM(11)                                               ASA16050
  1606.       LINE(30) = ISYM(9)                                                ASA16060
  1607.       LINE(31) = ISYM(5)                                                ASA16070
  1608.       LINE(32) = ISYM(11)                                               ASA16080
  1609.       LINE(40) = ISYM(8)                                                ASA16090
  1610.       LINE(41) = ISYM(5)                                                ASA16100
  1611.       LINE(42) = ISYM(11)                                               ASA16110
  1612.       LINE(50) = ISYM(7)                                                ASA16120
  1613.       LINE(51) = ISYM(5)                                                ASA16130
  1614.       LINE(52) = ISYM(11)                                               ASA16140
  1615.       LINE(61) = ISYM(1)                                                ASA16150
  1616.       LINE(70) = ISYM(7)                                                ASA16160
  1617.       LINE(71) = ISYM(5)                                                ASA16170
  1618.       LINE(72) = ISYM(11)                                               ASA16180
  1619.       LINE(80) = ISYM(8)                                                ASA16190
  1620.       LINE(81) = ISYM(5)                                                ASA16200
  1621.       LINE(82) = ISYM(11)                                               ASA16210
  1622.       LINE(90) = ISYM(9)                                                ASA16220
  1623.       LINE(91) = ISYM(5)                                                ASA16230
  1624.       LINE(92) = ISYM(11)                                               ASA16240
  1625.       LINE(100) = ISYM(10)                                              ASA16250
  1626.       LINE(101) = ISYM(5)                                               ASA16260
  1627.       LINE(102) = ISYM(11)                                              ASA16270
  1628.       LINE(111) = ISYM(7)                                               ASA16280
  1629.     5 CONTINUE                                                          ASA16290
  1630.       RETURN                                                            ASA16300
  1631.       END                                                               ASA16310
  1632.       SUBROUTINE NUMB (Y)                                               ASA16320
  1633. C                                                                       ASA16330
  1634. C     THIS SUBROUTINE PUTS DEGREE NUMBERS ON POLAR GRID                 ASA16340
  1635. C                                                                       ASA16350
  1636.       COMMON ISYM,LINE                                                  ASA16360
  1637.       INTEGER Y                                                         ASA16370
  1638.       DIMENSION ISYM(14), LINE(130)                                     ASA16380
  1639.       IF (Y.NE.37) GO TO 1                                              ASA16390
  1640.       LINE(33) = ISYM(7)                                                ASA16400
  1641.       LINE(34) = ISYM(8)                                                ASA16410
  1642.       LINE(35) = ISYM(6)                                                ASA16420
  1643.       LINE(87) = ISYM(6)                                                ASA16430
  1644.       LINE(88) = ISYM(12)                                               ASA16440
  1645.       LINE(89) = ISYM(6)                                                ASA16450
  1646.     1 IF (Y.NE.21) GO TO 2                                              ASA16460
  1647.       LINE(12) = ISYM(7)                                                ASA16470
  1648.       LINE(13) = ISYM(11)                                               ASA16480
  1649.       LINE(14) = ISYM(6)                                                ASA16490
  1650.       LINE(108) = ISYM(6)                                               ASA16500
  1651.       LINE(109) = ISYM(9)                                               ASA16510
  1652.       LINE(110) = ISYM(6)                                               ASA16520
  1653.     2 IF (Y.NE.0) GO TO 3                                               ASA16530
  1654.       LINE(7) = ISYM(7)                                                 ASA16540
  1655.       LINE(8) = ISYM(13)                                                ASA16550
  1656.       LINE(9) = ISYM(6)                                                 ASA16560
  1657.       LINE(113) = ISYM(6)                                               ASA16570
  1658.       LINE(114) = ISYM(6)                                               ASA16580
  1659.       LINE(115) = ISYM(6)                                               ASA16590
  1660.     3 IF (Y.NE.-21) GO TO 4                                             ASA16600
  1661.       LINE(12) = ISYM(8)                                                ASA16610
  1662.       LINE(13) = ISYM(7)                                                ASA16620
  1663.       LINE(14) = ISYM(6)                                                ASA16630
  1664.       LINE(108) = ISYM(9)                                               ASA16640
  1665.       LINE(109) = ISYM(9)                                               ASA16650
  1666.       LINE(110) = ISYM(6)                                               ASA16660
  1667.     4 IF (Y.NE.-37) GO TO 5                                             ASA16670
  1668.       LINE(33) = ISYM(8)                                                ASA16680
  1669.       LINE(34) = ISYM(10)                                               ASA16690
  1670.       LINE(35) = ISYM(6)                                                ASA16700
  1671.       LINE(87) = ISYM(9)                                                ASA16710
  1672.       LINE(88) = ISYM(6)                                                ASA16720
  1673.       LINE(89) = ISYM(6)                                                ASA16730
  1674.     5 CONTINUE                                                          ASA16740
  1675.       RETURN                                                            ASA16750
  1676.       END                                                               ASA16760
  1677.       SUBROUTINE NUMBER (N1,N2,X,IX)                                    ASA16770
  1678.       COMMON /A/ A(80)                                                  ASA16780
  1679.       DIMENSION B(10)                                                   ASA16790
  1680.       DATA B/'0','1','2','3','4','5','6','7','8','9'/                   ASA16800
  1681.       DATA AMNUS,PLUS,POINT/'-','+','.'/                                ASA16810
  1682.       DATA AK,AM,AU/'K','M','U'/                                        ASA16820
  1683.       N = N1                                                            ASA16830
  1684.       NSIGN = 0                                                         ASA16840
  1685.       II = -1                                                           ASA16850
  1686.       IX = 0                                                            ASA16860
  1687.       ISET = 0                                                          ASA16870
  1688.       IF (A(N).EQ.PLUS) N=N+1                                           ASA16880
  1689.       IF (A(N).NE.AMNUS) GO TO 1                                        ASA16890
  1690.       NSIGN = 1                                                         ASA16900
  1691.       N = N+1                                                           ASA16910
  1692. C                                                                       ASA16920
  1693.     1 DO 6 I=N,80                                                       ASA16930
  1694.       IF (A(I).NE.POINT) GO TO 2                                        ASA16940
  1695.       ISET = 1                                                          ASA16950
  1696.       GO TO 6                                                           ASA16960
  1697.     2 IF (ISET.EQ.1) II = II+1                                          ASA16970
  1698. C                                                                       ASA16980
  1699.       DO 3 K=1,10                                                       ASA16990
  1700.       IF (A(I).EQ.B(K)) GO TO 4                                         ASA17000
  1701.     3 CONTINUE                                                          ASA17010
  1702. C                                                                       ASA17020
  1703.       GO TO 7                                                           ASA17030
  1704. C                                                                       ASA17040
  1705.     4 DO 5 K=1,10                                                       ASA17050
  1706.       KK = K-1                                                          ASA17060
  1707.       IF (A(I).EQ.B(K)) NUMB=KK                                         ASA17070
  1708.     5 CONTINUE                                                          ASA17080
  1709. C                                                                       ASA17090
  1710.       IX = NUMB+10*IX                                                   ASA17100
  1711.       N2 = I+1                                                          ASA17110
  1712.     6 CONTINUE                                                          ASA17120
  1713. C                                                                       ASA17130
  1714.     7 IF (NSIGN.EQ.1) IX = -IX                                          ASA17140
  1715.       Y = IX                                                            ASA17150
  1716.       IF (II.LT.0) II = 0                                               ASA17160
  1717.       X = Y/(10**II)                                                    ASA17170
  1718.       IF (A(N2).EQ.POINT) N2=N2+1                                       ASA17180
  1719.       IF (A(N2).EQ.AK) X = X*1000.                                      ASA17190
  1720.       IF (A(N2).EQ.AM) X = X*0.001                                      ASA17200
  1721.       IF (A(N2).EQ.AU) X = X*0.000001                                   ASA17210
  1722.       IF((A(N2).EQ.AK).OR.(A(N2).EQ.AM).OR.(A(N2).EQ.AU)) N2=N2+1       ASA17220
  1723.       N1 = N2                                                           ASA17230
  1724.       RETURN                                                            ASA17240
  1725.       END                                                               ASA17250
  1726.       SUBROUTINE POLPRT (NAME,Y)                                        ASA17260
  1727.       COMMON ISYM,LINE                                                  ASA17270
  1728.       DIMENSION X(360), Y(360), DATAX(360), DATAY(360), LINE(130), ISYM(ASA17280
  1729.      114)                                                               ASA17290
  1730.       DIMENSION TITLA(2), TITL2(2)                                      ASA17300
  1731.       DATA TITLA/'PHI ','THET'/                                         ASA17310
  1732.       N = 360                                                           ASA17320
  1733.       DIM = 1.0                                                         ASA17330
  1734.       NST = 1                                                           ASA17340
  1735.       KST = 1                                                           ASA17350
  1736. C                                                                       ASA17360
  1737. C     S IS SCALE FACTOR OF PRINTER:                                     ASA17370
  1738. C     ABSCISSA CHAR. PER INCH / ORDINATE CHAR. PER INCH                 ASA17380
  1739. C                                                                       ASA17390
  1740.       S = 10.0/8.0                                                      ASA17400
  1741. C                                                                       ASA17410
  1742. C     ZERO DATAX AND DATAY                                              ASA17420
  1743. C                                                                       ASA17430
  1744. C                                                                       ASA17440
  1745.       DO 1 IA=1,N                                                       ASA17450
  1746.       D = IA-1                                                          ASA17460
  1747.       DATA X(IA) = 0.0                                                  ASA17470
  1748.       DATA Y(IA) = 0.0                                                  ASA17480
  1749.     1 X(IA) = D*3.1415927/180.0                                         ASA17490
  1750. C                                                                       ASA17500
  1751. C                                                                       ASA17510
  1752. C     FACTOR IS THE NORMALIZING DIVISOR                                 ASA17520
  1753. C                                                                       ASA17530
  1754.       FACTOR = Y(1)                                                     ASA17540
  1755. C                                                                       ASA17550
  1756.       DO 2 IA=2,N                                                       ASA17560
  1757.     2 IF (FACTOR.LT.Y(IA)) FACTOR=Y(IA)                                 ASA17570
  1758. C                                                                       ASA17580
  1759. C                                                                       ASA17590
  1760.       IF (NAME.EQ.1) TITL1=TITLA(1)                                     ASA17600
  1761.       IF (NAME.EQ.2) TITL1=TITLA(2)                                     ASA17610
  1762.       IF ((NAME.EQ.3).OR.(NAME.EQ.4).OR.(NAME.EQ.7).OR.(NAME.EQ.8)) TITLASA17620
  1763.      12(1)=TITLA(1)                                                     ASA17630
  1764.       IF ((NAME.EQ.5).OR.(NAME.EQ.6).OR.(NAME.EQ.9).OR.(NAME.EQ.10)) TITASA17640
  1765.      1L2(1)=TITLA(2)                                                    ASA17650
  1766.       IF ((NAME.EQ.3).OR.(NAME.EQ.5).OR.(NAME.EQ.7).OR.(NAME.EQ.9)) TITLASA17660
  1767.      12(2)=TITLA(1)                                                     ASA17670
  1768.       IF ((NAME.EQ.4).OR.(NAME.EQ.6).OR.(NAME.EQ.8).OR.(NAME.EQ.10)) TITASA17680
  1769.      1L2(2)=TITLA(2)                                                    ASA17690
  1770.       IF (FACTOR.GT.1.E-32) GO TO 3                                     ASA17700
  1771.       IF (NAME.LE.2) WRITE (6,9) TITL1                                  ASA17710
  1772.       IF (NAME.GE.3) WRITE (6,10) TITL2                                 ASA17720
  1773.       RETURN                                                            ASA17730
  1774. C                                                                       ASA17740
  1775. C     NORMALIZE DATA TO ONE                                             ASA17750
  1776. C                                                                       ASA17760
  1777. C                                                                       ASA17770
  1778.     3 DO 4 IA=1,N                                                       ASA17780
  1779.     4 Y(IA) = Y(IA)/FACTOR                                              ASA17790
  1780. C                                                                       ASA17800
  1781. C                                                                       ASA17810
  1782.       IF (NAME.LE.2) WRITE (6,11) TITL1,FACTOR                          ASA17820
  1783.       IF ((NAME.GE.3).AND.(NAME.LE.6)) WRITE (6,13) TITL2,FACTOR        ASA17830
  1784.       IF (NAME.GE.7) WRITE (6,12) TITL2,FACTOR                          ASA17840
  1785. C     FILL DATAX AND DATAY ARRAY FROM X AND Y ARRAY                     ASA17850
  1786. C                                                                       ASA17860
  1787. C                                                                       ASA17870
  1788.       DO 5 IA=1,N                                                       ASA17880
  1789.       DATA X(IA) = Y(IA)*COS(X(IA))                                     ASA17890
  1790.     5 DATA Y(IA)= Y(IA)*SIN(X(IA))                                      ASA17900
  1791. C                                                                       ASA17910
  1792. C                                                                       ASA17920
  1793. C     SORT DATA BY ORDINATE MAGNITUDE                                   ASA17930
  1794. C                                                                       ASA17940
  1795.       CALL SART (DATAX,DATAY,N)                                         ASA17950
  1796. C                                                                       ASA17960
  1797. C     DATAX AND DATAY ARE SORTED BY DESENDING MAGNITUDE ON THE DATAY VALASA17970
  1798. C     SET UP FOR PLOTTING POLAR GRID WITH DATA                          ASA17980
  1799. C                                                                       ASA17990
  1800. C                                                                       ASA18000
  1801.       DO 8 IYY=1,81                                                     ASA18010
  1802. C                                                                       ASA18020
  1803.       CALL PTPLOT (IYY,S)                                               ASA18030
  1804. C                                                                       ASA18040
  1805. C     LINE IS RETURNED WITH POLAR GRID INFORMATION                      ASA18050
  1806. C                                                                       ASA18060
  1807. C     SET UP 'Y' BIN SIZE UPPER AND LOWER LIMITS                        ASA18070
  1808. C     ULL IS THE LOWER BIN LIMIT                                        ASA18080
  1809. C     UL IS THE UPPER BIN LIMIT                                         ASA18090
  1810. C                                                                       ASA18100
  1811.       BIN = DIM/80.0                                                    ASA18110
  1812.       ULL = DIM-(2*IYY-1)*BIN                                           ASA18120
  1813.       UL = ULL+2*BIN                                                    ASA18130
  1814. C                                                                       ASA18140
  1815. C                                                                       ASA18150
  1816. C     CYCLE THROUGH DATA TO FIND WHICH ONES FALL IN 'Y' BINS            ASA18160
  1817. C                                                                       ASA18170
  1818. C                                                                       ASA18180
  1819.       IF (NST.GT.N) GO TO 7                                             ASA18190
  1820. C                                                                       ASA18200
  1821.       DO 6 JJ=NST,N                                                     ASA18210
  1822.       IF (DATAY(JJ).LT.ULL) GO TO 7                                     ASA18220
  1823.       KST = JJ                                                          ASA18230
  1824.       AMAG = SQRT(DATAX(JJ)*DATAX(JJ)+DATAY(JJ)*DATAY(JJ))              ASA18240
  1825. C                                                                       ASA18250
  1826. C     CHECK THAT MAGNITUDE IS NOT OVER DIM                              ASA18260
  1827. C                                                                       ASA18270
  1828.       IF (AMAG.GT.DIM) GO TO 6                                          ASA18280
  1829. C                                                                       ASA18290
  1830. C     OK IS THE FINAL LINE POSITION FOR THE '*'                         ASA18300
  1831. C                                                                       ASA18310
  1832.       OK = DATAX(JJ)*S*40.0/DIM+61.0                                    ASA18320
  1833.       IF (OK.LT.10.0) GO TO 6                                           ASA18330
  1834.       K = INT(OK)                                                       ASA18340
  1835.       K = IABS(K)                                                       ASA18350
  1836.       OK = ABS(OK)                                                      ASA18360
  1837.       IF ((OK-K).GT.0.5) K=K+1                                          ASA18370
  1838.       IF (OK.LT.10.0.OR.OK.GT.111.0) GO TO 6                            ASA18380
  1839.       LINE(K) = ISYM(4)                                                 ASA18390
  1840.     6 CONTINUE                                                          ASA18400
  1841. C                                                                       ASA18410
  1842.     7 CONTINUE                                                          ASA18420
  1843.       NST = KST+1                                                       ASA18430
  1844. C                                                                       ASA18440
  1845. C     PRINT OUT ONE LINE OF PLOT                                        ASA18450
  1846. C                                                                       ASA18460
  1847.       WRITE (6,14) LINE                                                 ASA18470
  1848.     8 CONTINUE                                                          ASA18480
  1849. C                                                                       ASA18490
  1850.       RETURN                                                            ASA18500
  1851. C                                                                       ASA18510
  1852.     9 FORMAT (10X,1A4,' COMPONENT OF THE ELECTRIC FIELD IS LESS'/10X,   ASA18520
  1853.      1 'THAN 1.E-64, THEREFORE THIS FIELD WAS NOT '/10X,'PLOTTED.   EXECASA18530
  1854.      2UTION WILL CONTINUE AS NORMAL.'//)                                ASA18540
  1855.    10 FORMAT (10X,'THE MAXIMUM VALUE OF THE BISTATIC PATTERN FOR '/     ASA18550
  1856.      1 10X,1A4,'-',1A4,' (INCIDENT-SCATTERED) IS LESS THAN '/           ASA18560
  1857.      2 10X, ' 1.E-30.)   POLAR PLOT NOT CALLED.'///)                    ASA18570
  1858.    11 FORMAT ('1',1A4,' ELECTRIC FIELD ANTENNA PATTERN FOR SPECIFIED PLAASA18580
  1859.      1NE.',9X,'NORMALIZING FACTOR= ',E10.5)                             ASA18590
  1860.    12 FORMAT ('1BISTATIC SCATTERING PATTERN FOR',1A4,'-',1A4,'(INCIDENT-ASA18600
  1861.      1SCATTERED) POLARIZATION.',9X,'NORMALIZING FACTOR=',E10.5)         ASA18610
  1862.    13 FORMAT ('1BACKSCATTERING PATTERN FOR',1A4,'-',1A4,'(INCIDENT-SCATTASA18620
  1863.      1ERED) POLARIZATION.',9X,'NORMALIZING FACTOR=',E10.5)              ASA18630
  1864.    14 FORMAT (1X,130A1)                                                 ASA18640
  1865.       END                                                               ASA18650
  1866.       SUBROUTINE PTPLOT (IYY,S)                                         ASA18660
  1867. C                                                                       ASA18670
  1868. C     THIS SUBROUTINE SETS UP POLAR GRID INFORMATION                    ASA18680
  1869. C                                                                       ASA18690
  1870.       COMMON ISYM,LINE                                                  ASA18700
  1871.       DIMENSION LINE(130), ISYM(14), ISYN(14)                           ASA18710
  1872.       DATA ISYN/1H+,1H.,1H ,1H*,1H/,1H0,1H1,1H2,1H3,1H4,1H5,1H6,1H8,1H9/ASA18720
  1873.       INTEGER Y,YY,W                                                    ASA18730
  1874. C                                                                       ASA18740
  1875. C     SET UP ISYM FROM ISYN FOR COMMON                                  ASA18750
  1876. C                                                                       ASA18760
  1877. C                                                                       ASA18770
  1878.       DO 1 K=1,14                                                       ASA18780
  1879.       ISYM(K) = ISYN(K)                                                 ASA18790
  1880.     1 CONTINUE                                                          ASA18800
  1881. C                                                                       ASA18810
  1882. C                                                                       ASA18820
  1883. C     CLEAR LINE AND SET TO BLANK                                       ASA18830
  1884. C                                                                       ASA18840
  1885. C                                                                       ASA18850
  1886.       DO 2 I=1,130                                                      ASA18860
  1887.     2 LINE(I) = ISYM(3)                                                 ASA18870
  1888. C                                                                       ASA18880
  1889.       Y = 41-IYY                                                        ASA18890
  1890.       IF (Y.EQ.0) GO TO 7                                               ASA18900
  1891. C                                                                       ASA18910
  1892. C     SET UP EQUATIONS FOR CONCENTRIC CIRCLES                           ASA18920
  1893. C                                                                       ASA18930
  1894.       YY = Y*Y                                                          ASA18940
  1895.       Z = (YY*2.5/2)*S                                                  ASA18950
  1896.       X = 61.0+SQRT(2500.0-Z)                                           ASA18960
  1897.       CALL LINECK (X,Y)                                                 ASA18970
  1898.       IF (Y.GT.32.OR.Y.LT.-32) GO TO 3                                  ASA18980
  1899.       X = 61.0+SQRT(1600.0-Z)                                           ASA18990
  1900.       CALL LINECK (X,Y)                                                 ASA19000
  1901.     3 IF (Y.GT.24.OR.Y.LT.-24) GO TO 4                                  ASA19010
  1902.       X = 61.0+SQRT(900.0-Z)                                            ASA19020
  1903.       CALL LINECK (X,Y)                                                 ASA19030
  1904.     4 IF (Y.GT.16.OR.Y.LT.-16) GO TO 5                                  ASA19040
  1905.       X = 61.0+SQRT(400.0-Z)                                            ASA19050
  1906.       CALL LINECK (X,Y)                                                 ASA19060
  1907.     5 IF (Y.GT.8.OR.Y.LT.-8) GO TO 6                                    ASA19070
  1908.       X = 61.0+SQRT(100-Z)                                              ASA19080
  1909.       CALL LINECK (X,Y)                                                 ASA19090
  1910. C     SET UP EQUATIONS FOR MULTIPLES OF 30 DEGREES                      ASA19100
  1911.     6 X = 61.0+1.732051*Y*S                                             ASA19110
  1912.       CALL LINECK (X,Y)                                                 ASA19120
  1913.       X = 61.0+Y*S/1.732051                                             ASA19130
  1914.     7 CALL LINECK (X,Y)                                                 ASA19140
  1915. C                                                                       ASA19150
  1916. C     PUT IN POLAR PLOT NUMBER LABELS                                   ASA19160
  1917. C                                                                       ASA19170
  1918.       CALL NUMB (Y)                                                     ASA19180
  1919.       W = IABS(Y)                                                       ASA19190
  1920. C                                                                       ASA19200
  1921. C     FILL IN POLAR PLOT AT 000, 090, 180, AND 270                      ASA19210
  1922. C                                                                       ASA19220
  1923.       IF (W.NE.40) GO TO 8                                              ASA19230
  1924.       LINE(55) = ISYM(2)                                                ASA19240
  1925.       LINE(57) = ISYM(2)                                                ASA19250
  1926.       LINE(59) = ISYM(2)                                                ASA19260
  1927.       LINE(63) = ISYM(2)                                                ASA19270
  1928.       LINE(65) = ISYM(2)                                                ASA19280
  1929.       LINE(67) = ISYM(2)                                                ASA19290
  1930.     8 IF (W.NE.32) GO TO 9                                              ASA19300
  1931.       LINE(56) = ISYM(2)                                                ASA19310
  1932.       LINE(58) = ISYM(2)                                                ASA19320
  1933.       LINE(60) = ISYM(2)                                                ASA19330
  1934.       LINE(62) = ISYM(2)                                                ASA19340
  1935.       LINE(64) = ISYM(2)                                                ASA19350
  1936.       LINE(66) = ISYM(2)                                                ASA19360
  1937.     9 IF (W.NE.24) GO TO 10                                             ASA19370
  1938.       LINE(57) = ISYM(2)                                                ASA19380
  1939.       LINE(59) = ISYM(2)                                                ASA19390
  1940.       LINE(60) = ISYM(2)                                                ASA19400
  1941.       LINE(62) = ISYM(2)                                                ASA19410
  1942.       LINE(63) = ISYM(2)                                                ASA19420
  1943.       LINE(65) = ISYM(2)                                                ASA19430
  1944.    10 IF (W.NE.16) GO TO 11                                             ASA19440
  1945.       LINE(58) = ISYM(2)                                                ASA19450
  1946.       LINE(60) = ISYM(2)                                                ASA19460
  1947.       LINE(62) = ISYM(2)                                                ASA19470
  1948.       LINE(64) = ISYM(2)                                                ASA19480
  1949.    11 IF (W.NE.08) GO TO 12                                             ASA19490
  1950.       LINE(59) = ISYM(2)                                                ASA19500
  1951.       LINE(63) = ISYM(2)                                                ASA19510
  1952.    12 CONTINUE                                                          ASA19520
  1953.       RETURN                                                            ASA19530
  1954.       END                                                               ASA19540
  1955.       SUBROUTINE READ (IA,IB,IBISC,ICARD,IGAIN,IGRD,INEAR,INT,ISCAT,IWR,ASA19550
  1956.      1IFLAG,KFLAG,KGEN,LOAD,LZD,MSG,NBAP,NBIP,NFFP,NGEN,NM,NP,ABAP,ABAT,ASA19560
  1957.      2AFFP,AFFT,ABIP,ABIT,AM,BM,CMM,ER2,ER3,ER4,FMC,HGT,PHAF,PHAI,PHIF,PASA19570
  1958.      3HII,PHSF,PHSI,THAF,THAI,THIF,THII,THSF,THSI,SIG2,SIG3,SIG4,TD2,TD3ASA19580
  1959.      4,VOLT,X,XNP,Y,YNP,Z,ZLLD,ZNP,STEP)                                ASA19590
  1960.       COMMON /A/ A(80)                                                  ASA19600
  1961.       COMPLEX VOLT(1),ZLLD(1)                                           ASA19610
  1962.       DIMENSION IA(1), IB(1), X(1), Y(1), Z(1), KGEN(1), KFLAG(1)       ASA19620
  1963.       DIMENSION XNP(1), YNP(1), ZNP(1), LZD(1)                          ASA19630
  1964.       DATA AA,AB,AC,AD,AE,AF,AG,AH,AI,AK,AL,AMA,AN,AO,AP,AQ,AR,AS,AT,AU,ASA19640
  1965.      1AW,AX/'A','B','C','D','E','F','G','H','I','K','L','M','N','O','P',ASA19650
  1966.      2'Q','R','S','T','U','W','X'/                                      ASA19660
  1967.       DATA BLANK,COMMA,MINUS,PLEFT,POINT,RIGHT,SLANT/' ',',','-','(','.'ASA19670
  1968.      1,')','/'/                                                         ASA19680
  1969.       RAD = 57.295779                                                   ASA19690
  1970.       INT = 4                                                           ASA19700
  1971.       IBISC = -1                                                        ASA19710
  1972.       IGAIN = -1                                                        ASA19720
  1973.       INEAR = -1                                                        ASA19730
  1974.       ISCAT = -1                                                        ASA19740
  1975.       IWR = -1                                                          ASA19750
  1976.       IF (IFLAG.EQ.6) GO TO 2                                           ASA19760
  1977.       IF (MSG.NE.0) GO TO 4                                             ASA19770
  1978.     1 READ (5,76,END=72) A                                              ASA19780
  1979.     2 IF ((A(1).NE.AC).OR.(A(2).NE.BLANK).OR.(A(3).NE.BLANK).OR.(A(4).NEASA19790
  1980.      1.BLANK)) GO TO 3                                                  ASA19800
  1981.       WRITE (6,74) A                                                    ASA19810
  1982.       GO TO 1                                                           ASA19820
  1983.     3 WRITE (6,75)                                                      ASA19830
  1984.       GO TO 5                                                           ASA19840
  1985.     4 READ (5,76,END=72) A                                              ASA19850
  1986.     5 ICARD = ICARD+1                                                   ASA19860
  1987.       WRITE (6,77) ICARD,A                                              ASA19870
  1988.       IF ((MSG.NE.0).AND.((A(1).EQ.AE).AND.(A(2).EQ.AN).AND.(A(3).EQ.AD)ASA19880
  1989.      1)) GO TO 70                                                       ASA19890
  1990.       IF ((MSG.NE.0).AND.((A(1).EQ.AS).AND.(A(2).EQ.AT).AND.(A(3).EQ.AO)ASA19900
  1991.      1.AND.(A(4).EQ.AP))) GO TO 69                                      ASA19910
  1992.       IF ((A(1).EQ.AC).AND.(A(2).EQ.BLANK).AND.(A(3).EQ.BLANK).AND.(A(4)ASA19920
  1993.      1.EQ.BLANK)) GO TO 73                                              ASA19930
  1994.       IF (MSG.GT.0) GO TO 4                                             ASA19940
  1995.       CALL BLNK (A)                                                     ASA19950
  1996.       N = 4                                                             ASA19960
  1997. C                                                                       ASA19970
  1998. C     INSULATION                                                        ASA19980
  1999. C                                                                       ASA19990
  2000.       IF ((A(1).NE.AI).OR.(A(2).NE.AN).OR.(A(3).NE.AS).OR.(A(4).NE.AU)) ASA20000
  2001.      1GO TO 10                                                          ASA20010
  2002.       KFLAG(20) = 1                                                     ASA20020
  2003.       CALL LEFT (N)                                                     ASA20030
  2004. C                                                                       ASA20040
  2005.     6 IF ((A(N).NE.AR).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AD).OR.(A(N+3).NEASA20050
  2006.      1.AI)) GO TO 7                                                     ASA20060
  2007.       KFLAG(4) = 1                                                      ASA20070
  2008.       CALL EQUAL (N)                                                    ASA20080
  2009.       CALL NUMBER (N,N2,X1,IX)                                          ASA20090
  2010.       BM = X1                                                           ASA20100
  2011.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20110
  2012.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20120
  2013.       N = N2+1                                                          ASA20130
  2014.       GO TO 6                                                           ASA20140
  2015. C                                                                       ASA20150
  2016.     7 IF ((A(N).NE.AD).OR.(A(N+1).NE.AI).OR.(A(N+2).NE.AE).OR.(A(N+3).NEASA20160
  2017.      1.AL)) GO TO 8                                                     ASA20170
  2018.       KFLAG(6) = 1                                                      ASA20180
  2019.       CALL EQUAL (N)                                                    ASA20190
  2020.       CALL NUMBER (N,N2,X1,IX)                                          ASA20200
  2021.       ER2 = X1                                                          ASA20210
  2022.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20220
  2023.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20230
  2024.       N = N2+1                                                          ASA20240
  2025.       GO TO 6                                                           ASA20250
  2026. C                                                                       ASA20260
  2027.     8 IF ((A(N).NE.AC).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AN).OR.(A(N+3).NEASA20270
  2028.      1.AD)) GO TO 9                                                     ASA20280
  2029.       KFLAG(5) = 1                                                      ASA20290
  2030.       CALL EQUAL (N)                                                    ASA20300
  2031.       CALL NUMBER (N,N2,X1,IX)                                          ASA20310
  2032.       SIG2 = X1                                                         ASA20320
  2033.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20330
  2034.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20340
  2035.       N = N2+1                                                          ASA20350
  2036.       GO TO 6                                                           ASA20360
  2037. C                                                                       ASA20370
  2038.     9 IF ((A(N).NE.AL).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AS).OR.(A(N+3).NEASA20380
  2039.      1.AS)) GO TO 71                                                    ASA20390
  2040.       KFLAG(7) = 1                                                      ASA20400
  2041.       CALL EQUAL (N)                                                    ASA20410
  2042.       CALL NUMBER (N,N2,X1,IX)                                          ASA20420
  2043.       TD2 = X1                                                          ASA20430
  2044.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20440
  2045.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20450
  2046.       N = N2+1                                                          ASA20460
  2047.       GO TO 6                                                           ASA20470
  2048. C                                                                       ASA20480
  2049. C     WIRE                                                              ASA20490
  2050. C                                                                       ASA20500
  2051.    10 IF ((A(1).NE.AW).OR.(A(2).NE.AI).OR.(A(3).NE.AR).OR.(A(4).NE.AE)) ASA20510
  2052.      1GO TO 13                                                          ASA20520
  2053.       CALL LEFT (N)                                                     ASA20530
  2054. C                                                                       ASA20540
  2055.    11 IF ((A(N).NE.AR).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AD).OR.(A(N+3).NEASA20550
  2056.      1.AI)) GO TO 12                                                    ASA20560
  2057.       KFLAG(2) = 1                                                      ASA20570
  2058.       CALL EQUAL (N)                                                    ASA20580
  2059.       CALL NUMBER (N,N2,X1,IX)                                          ASA20590
  2060.       AM = X1                                                           ASA20600
  2061.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20610
  2062.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20620
  2063.       N = N2+1                                                          ASA20630
  2064.       GO TO 11                                                          ASA20640
  2065. C                                                                       ASA20650
  2066.    12 IF ((A(N).NE.AC).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AN).OR.(A(N+3).NEASA20660
  2067.      1.AD)) GO TO 71                                                    ASA20670
  2068.       KFLAG(3) = 1                                                      ASA20680
  2069.       CALL EQUAL (N)                                                    ASA20690
  2070.       CALL NUMBER (N,N2,X1,IX)                                          ASA20700
  2071.       CMM = X1                                                          ASA20710
  2072.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20720
  2073.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20730
  2074.       N = N2+1                                                          ASA20740
  2075.       GO TO 11                                                          ASA20750
  2076. C                                                                       ASA20760
  2077. C     EXTERNAL MEDIUM                                                   ASA20770
  2078. C                                                                       ASA20780
  2079.    13 IF ((A(1).NE.AE).OR.(A(2).NE.AX).OR.(A(3).NE.AT).OR.(A(4).NE.AE)) ASA20790
  2080.      1GO TO 17                                                          ASA20800
  2081.       KFLAG(8) = 1                                                      ASA20810
  2082.       CALL LEFT (N)                                                     ASA20820
  2083. C                                                                       ASA20830
  2084.    14 IF ((A(N).NE.AC).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AN).OR.(A(N+3).NEASA20840
  2085.      1.AD)) GO TO 15                                                    ASA20850
  2086.       KFLAG(9) = 1                                                      ASA20860
  2087.       CALL EQUAL (N)                                                    ASA20870
  2088.       CALL NUMBER (N,N2,X1,IX)                                          ASA20880
  2089.       SIG3 = X1                                                         ASA20890
  2090.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA20900
  2091.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA20910
  2092.       N = N2+1                                                          ASA20920
  2093.       GO TO 14                                                          ASA20930
  2094. C                                                                       ASA20940
  2095.    15 IF ((A(N).NE.AD).OR.(A(N+1).NE.AI).OR.(A(N+2).NE.AE).OR.(A(N+3).NEASA20950
  2096.      1.AL)) GO TO 16                                                    ASA20960
  2097.       KFLAG(10) = 1                                                     ASA20970
  2098.       CALL EQUAL (N)                                                    ASA20980
  2099.       CALL NUMBER (N,N2,X1,IX)                                          ASA20990
  2100.       ER3 = X1                                                          ASA21000
  2101.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA21010
  2102.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA21020
  2103.       N = N2+1                                                          ASA21030
  2104.       GO TO 14                                                          ASA21040
  2105. C                                                                       ASA21050
  2106.    16 IF ((A(N).NE.AL).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AS).OR.(A(N+3).NEASA21060
  2107.      1.AS)) GO TO 71                                                    ASA21070
  2108.       KFLAG(11) = 1                                                     ASA21080
  2109.       CALL EQUAL (N)                                                    ASA21090
  2110.       CALL NUMBER (N,N2,X1,IX)                                          ASA21100
  2111.       TD3 = X1                                                          ASA21110
  2112.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA21120
  2113.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA21130
  2114.       N = N2+1                                                          ASA21140
  2115.       GO TO 14                                                          ASA21150
  2116. C                                                                       ASA21160
  2117. C                                                                       ASA21170
  2118. C     LOAD                                                              ASA21180
  2119. C                                                                       ASA21190
  2120.    17 IF ((A(1).NE.AL).OR.(A(2).NE.AO).OR.(A(3).NE.AA).OR.(A(4).NE.AD)) ASA21200
  2121.      1GO TO 18                                                          ASA21210
  2122.       KFLAG(14) = 1                                                     ASA21220
  2123.       GO TO 19                                                          ASA21230
  2124.    18 IF ((A(1).NE.AI).OR.(A(2).NE.AMA).OR.(A(3).NE.AP).OR.(A(4).NE.AE))ASA21240
  2125.      1 GO TO 22                                                         ASA21250
  2126.       KFLAG(24) = 1                                                     ASA21260
  2127.    19 I = 1                                                             ASA21270
  2128.       CALL LEFT (N)                                                     ASA21280
  2129.    20 CALL NUMBER (N,N2,X1,IX)                                          ASA21290
  2130.       IF (IX.LE.0) GO TO 21                                             ASA21300
  2131.       LZD(I) = IX                                                       ASA21310
  2132.       N = N2+1                                                          ASA21320
  2133.       CALL NUMBER (N,N2,X1,IX)                                          ASA21330
  2134.       RMAG = X1                                                         ASA21340
  2135.       N = N2+1                                                          ASA21350
  2136.       CALL NUMBER (N,N2,X1,IX)                                          ASA21360
  2137.       RDEG = X1                                                         ASA21370
  2138.       RREAL = RMAG*COS(RDEG/RAD)                                        ASA21380
  2139.       RIMAG = RMAG*SIN(RDEG/RAD)                                        ASA21390
  2140.       ZLLD(I) = CMPLX(RREAL,RIMAG)                                      ASA21400
  2141.       LOAD = I                                                          ASA21410
  2142.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA21420
  2143.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA21430
  2144.       I = I+1                                                           ASA21440
  2145.       N = N2+1                                                          ASA21450
  2146.       GO TO 20                                                          ASA21460
  2147.    21 KFLAG(24) = -1                                                    ASA21470
  2148.       LOAD = -1                                                         ASA21480
  2149.       GO TO 4                                                           ASA21490
  2150. C                                                                       ASA21500
  2151. C     FREQUENCY                                                         ASA21510
  2152. C                                                                       ASA21520
  2153.    22 IF ((A(1).NE.AF).OR.(A(2).NE.AR).OR.(A(3).NE.AE).OR.(A(4).NE.AQ)) ASA21530
  2154.      1GO TO 23                                                          ASA21540
  2155.       KFLAG(1) = 1                                                      ASA21550
  2156.       CALL LEFT (N)                                                     ASA21560
  2157.       CALL NUMBER (N,N2,X1,IX)                                          ASA21570
  2158.       FMC = X1                                                          ASA21580
  2159.       GO TO 4                                                           ASA21590
  2160. C                                                                       ASA21600
  2161. C     PLOT                                                              ASA21610
  2162. C                                                                       ASA21620
  2163.    23 IF ((A(1).NE.AP).OR.(A(2).NE.AL).OR.(A(3).NE.AO).OR.(A(4).NE.AT)) ASA21630
  2164.      1GO TO 31                                                          ASA21640
  2165.       KFLAG(22) = 1                                                     ASA21650
  2166.       CALL LEFT (N)                                                     ASA21660
  2167. C                                                                       ASA21670
  2168.    24 IF ((A(N).NE.AF).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AR).OR.(A(N+3).NEASA21680
  2169.      1.AF)) GO TO 25                                                    ASA21690
  2170.       IGAIN = 1                                                         ASA21700
  2171.       NFFP = 1                                                          ASA21710
  2172.       GO TO 27                                                          ASA21720
  2173.    25 IF ((A(N).NE.AB).OR.(A(N+1).NE.AI).OR.(A(N+2).NE.AS).OR.(A(N+3).NEASA21730
  2174.      1.AT)) GO TO 26                                                    ASA21740
  2175.       IBISC = 1                                                         ASA21750
  2176.       NBIP = 1                                                          ASA21760
  2177.       GO TO 27                                                          ASA21770
  2178.    26 IF ((A(N).NE.AB).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AC).OR.(A(N+3).NEASA21780
  2179.      1.AK)) GO TO 71                                                    ASA21790
  2180.       ISCAT = 1                                                         ASA21800
  2181.       NBAP = 1                                                          ASA21810
  2182. C                                                                       ASA21820
  2183. C                                                                       ASA21830
  2184. C                                                                       ASA21840
  2185.    27 DO 28 I=N,80                                                      ASA21850
  2186.       K = I+1                                                           ASA21860
  2187.       IF (A(I).EQ.SLANT) GO TO 29                                       ASA21870
  2188.    28 CONTINUE                                                          ASA21880
  2189. C                                                                       ASA21890
  2190. C                                                                       ASA21900
  2191. C                                                                       ASA21910
  2192.       GO TO 71                                                          ASA21920
  2193.    29 N = K                                                             ASA21930
  2194.       IF ((A(N).NE.AT).OR.(A(N+1).NE.AH).OR.(A(N+2).NE.AE).OR.(A(N+3).NEASA21940
  2195.      1.AT)) GO TO 30                                                    ASA21950
  2196.       CALL EQUAL (N)                                                    ASA21960
  2197.       CALL NUMBER (N,N2,X1,IX)                                          ASA21970
  2198.       IF (NFFP.EQ.1) AFFT=X1                                            ASA21980
  2199.       IF (NBIP.EQ.1) ABIT=X1                                            ASA21990
  2200.       IF (NBAP.EQ.1) ABAT=X1                                            ASA22000
  2201.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA22010
  2202.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA22020
  2203.       N = N2+1                                                          ASA22030
  2204.       GO TO 24                                                          ASA22040
  2205.    30 IF ((A(N).NE.AP).OR.(A(N+1).NE.AH).OR.(A(N+2).NE.AI)) GO TO 71    ASA22050
  2206.       CALL EQUAL (N)                                                    ASA22060
  2207.       CALL NUMBER (N,N2,X1,IX)                                          ASA22070
  2208.       IF (NFFP.EQ.1) AFFP=X1                                            ASA22080
  2209.       IF (NBIP.EQ.1) ABIP=X1                                            ASA22090
  2210.       IF (NBAP.EQ.1) ABAP=X1                                            ASA22100
  2211.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA22110
  2212.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA22120
  2213.       N = N2+1                                                          ASA22130
  2214.       GO TO 24                                                          ASA22140
  2215. C                                                                       ASA22150
  2216. C     OUTPUT                                                            ASA22160
  2217. C                                                                       ASA22170
  2218.    31 IF ((A(1).NE.AO).OR.(A(2).NE.AU).OR.(A(3).NE.AT).OR.(A(4).NE.AP)) ASA22180
  2219.      1GO TO 44                                                          ASA22190
  2220.       KFLAG(22) = 1                                                     ASA22200
  2221.       CALL LEFT (N)                                                     ASA22210
  2222. C                                                                       ASA22220
  2223.    32 IF ((A(N).NE.AB).OR.(A(N+1).NE.AI).OR.(A(N+2).NE.AS).OR.(A(N+3).NEASA22230
  2224.      1.AT)) GO TO 33                                                    ASA22240
  2225.       KFLAG(18) = 1                                                     ASA22250
  2226.       IBISC = 1                                                         ASA22260
  2227.       CALL EQUAL (N)                                                    ASA22270
  2228.       CALL NUMBER (N,N2,X1,IX)                                          ASA22280
  2229.       PHSI = X1                                                         ASA22290
  2230.       N = N2+1                                                          ASA22300
  2231.       CALL NUMBER (N,N2,X1,IX)                                          ASA22310
  2232.       PHSF = X1                                                         ASA22320
  2233.       N = N2+1                                                          ASA22330
  2234.       CALL NUMBER (N,N2,X1,IX)                                          ASA22340
  2235.       THSI = X1                                                         ASA22350
  2236.       N = N2+1                                                          ASA22360
  2237.       CALL NUMBER (N,N2,X1,IX)                                          ASA22370
  2238.       THSF = X1                                                         ASA22380
  2239.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA22390
  2240.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA22400
  2241.       N = N2+1                                                          ASA22410
  2242.       GO TO 32                                                          ASA22420
  2243. C                                                                       ASA22430
  2244.    33 IF ((A(N).NE.AF).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AR).OR.(A(N+3).NEASA22440
  2245.      1.AF)) GO TO 34                                                    ASA22450
  2246.       KFLAG(16) = 1                                                     ASA22460
  2247.       IGAIN = 1                                                         ASA22470
  2248.       CALL EQUAL (N)                                                    ASA22480
  2249.       CALL NUMBER (N,N2,X1,IX)                                          ASA22490
  2250.       PHAI = X1                                                         ASA22500
  2251.       N = N2+1                                                          ASA22510
  2252.       CALL NUMBER (N,N2,X1,IX)                                          ASA22520
  2253.       PHAF = X1                                                         ASA22530
  2254.       N = N2+1                                                          ASA22540
  2255.       CALL NUMBER (N,N2,X1,IX)                                          ASA22550
  2256.       THAI = X1                                                         ASA22560
  2257.       N = N2+1                                                          ASA22570
  2258.       CALL NUMBER (N,N2,X1,IX)                                          ASA22580
  2259.       THAF = X1                                                         ASA22590
  2260.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA22600
  2261.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA22610
  2262.       N = N2+1                                                          ASA22620
  2263.       GO TO 32                                                          ASA22630
  2264. C                                                                       ASA22640
  2265.    34 IF ((A(N).NE.AN).OR.(A(N+1).NE.AE).OR.(A(N+2).NE.AA).OR.(A(N+3).NEASA22650
  2266.      1.AR)) GO TO 40                                                    ASA22660
  2267.       KFLAG(19) = 1                                                     ASA22670
  2268.       INEAR = 2                                                         ASA22680
  2269.       CALL EQUAL (N)                                                    ASA22690
  2270.       IF (A(N).EQ.PLEFT) GO TO 35                                       ASA22700
  2271.       INEAR = 1                                                         ASA22710
  2272.       I = 1                                                             ASA22720
  2273.       GO TO 36                                                          ASA22730
  2274. C                                                                       ASA22740
  2275. C                                                                       ASA22750
  2276. C                                                                       ASA22760
  2277.    35 DO 37 L=1,50                                                      ASA22770
  2278.       I = L                                                             ASA22780
  2279.       N = N+1                                                           ASA22790
  2280.    36 CALL NUMBER (N,N2,X1,IX)                                          ASA22800
  2281.       XNP(I) = X1                                                       ASA22810
  2282.       N = N2+1                                                          ASA22820
  2283.       CALL NUMBER (N,N2,X1,IX)                                          ASA22830
  2284.       YNP(I) = X1                                                       ASA22840
  2285.       N = N2+1                                                          ASA22850
  2286.       CALL NUMBER (N,N2,X1,IX)                                          ASA22860
  2287.       ZNP(I) = X1                                                       ASA22870
  2288.       IF (INEAR.EQ.1) GO TO 39                                          ASA22880
  2289.       INEAR = L+1                                                       ASA22890
  2290.       IF (A(N2).EQ.RIGHT) GO TO 38                                      ASA22900
  2291.       N = N2                                                            ASA22910
  2292.    37 CONTINUE                                                          ASA22920
  2293. C                                                                       ASA22930
  2294. C                                                                       ASA22940
  2295. C                                                                       ASA22950
  2296.       GO TO 71                                                          ASA22960
  2297.    38 N2 = N2+1                                                         ASA22970
  2298.       INEAR = INEAR-1                                                   ASA22980
  2299.    39 IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA22990
  2300.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA23000
  2301.       N = N2+1                                                          ASA23010
  2302.       GO TO 32                                                          ASA23020
  2303. C                                                                       ASA23030
  2304.    40 IF ((A(N).NE.AB).OR.(A(N+1).NE.AA).OR.(A(N+2).NE.AC).OR.(A(N+3).NEASA23040
  2305.      1.AK)) GO TO 41                                                    ASA23050
  2306.       KFLAG(17) = 1                                                     ASA23060
  2307.       ISCAT = 1                                                         ASA23070
  2308.       CALL EQUAL (N)                                                    ASA23080
  2309.       CALL NUMBER (N,N2,X1,IX)                                          ASA23090
  2310.       PHII = X1                                                         ASA23100
  2311.       N = N2+1                                                          ASA23110
  2312.       CALL NUMBER (N,N2,X1,IX)                                          ASA23120
  2313.       PHIF = X1                                                         ASA23130
  2314.       N = N2+1                                                          ASA23140
  2315.       CALL NUMBER (N,N2,X1,IX)                                          ASA23150
  2316.       THII = X1                                                         ASA23160
  2317.       N = N2+1                                                          ASA23170
  2318.       CALL NUMBER (N,N2,X1,IX)                                          ASA23180
  2319.       THIF = X1                                                         ASA23190
  2320.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA23200
  2321.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA23210
  2322.       N = N2+1                                                          ASA23220
  2323.       GO TO 32                                                          ASA23230
  2324. C                                                                       ASA23240
  2325.    41 IF ((A(N).NE.AC).OR.(A(N+1).NE.AU).OR.(A(N+2).NE.AR).OR.(A(N+3).NEASA23250
  2326.      1.AR)) GO TO 43                                                    ASA23260
  2327.       KFLAG(15) = 1                                                     ASA23270
  2328.       IWR = 1                                                           ASA23280
  2329. C                                                                       ASA23290
  2330. C                                                                       ASA23300
  2331. C                                                                       ASA23310
  2332.       NSPL = N                                                          ASA23320
  2333.       DO 42 K=NSPL,80                                                   ASA23330
  2334.       IF (A(K).EQ.RIGHT) GO TO 4                                        ASA23340
  2335.       N = K+1                                                           ASA23350
  2336.       IF (A(K).EQ.SLANT) GO TO 32                                       ASA23360
  2337.    42 CONTINUE                                                          ASA23370
  2338. C                                                                       ASA23380
  2339.       GO TO 71                                                          ASA23390
  2340. C                                                                       ASA23400
  2341.    43 IF ((A(N).NE.AS).OR.(A(N+1).NE.AT).OR.(A(N+2).NE.AE).OR.(A(N+3).NEASA23410
  2342.      1.AP)) GO TO 71                                                    ASA23420
  2343.       CALL EQUAL (N)                                                    ASA23430
  2344.       CALL NUMBER (N,N2,X1,IX)                                          ASA23440
  2345.       STEP = X1                                                         ASA23450
  2346.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA23460
  2347.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA23470
  2348.       N = N2+1                                                          ASA23480
  2349.       GO TO 32                                                          ASA23490
  2350. C                                                                       ASA23500
  2351. C     FEED POINT                                                        ASA23510
  2352. C                                                                       ASA23520
  2353.    44 IF ((A(1).NE.AF).OR.(A(2).NE.AE).OR.(A(3).NE.AE).OR.(A(4).NE.AD)) ASA23530
  2354.      1GO TO 45                                                          ASA23540
  2355.       KFLAG(13) = 1                                                     ASA23550
  2356.       GO TO 46                                                          ASA23560
  2357.    45 IF ((A(1).NE.AG).OR.(A(2).NE.AE).OR.(A(3).NE.AN).OR.(A(4).NE.AE)) ASA23570
  2358.      1GO TO 49                                                          ASA23580
  2359.       KFLAG(23) = 1                                                     ASA23590
  2360.    46 NGEN = 0                                                          ASA23600
  2361.       CALL LEFT (N)                                                     ASA23610
  2362.    47 CALL NUMBER (N,N2,X1,IX)                                          ASA23620
  2363.       NGEN = NGEN+1                                                     ASA23630
  2364.       KGEN(NGEN) = IX                                                   ASA23640
  2365.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA23650
  2366.       N = N2+1                                                          ASA23660
  2367.       CALL NUMBER (N,N2,X1,IX)                                          ASA23670
  2368.       VMAG = X1                                                         ASA23680
  2369.       N = N2+1                                                          ASA23690
  2370.       CALL NUMBER (N,N2,X1,IX)                                          ASA23700
  2371.       VDEG = X1                                                         ASA23710
  2372.       VREAL = VMAG*COS(VDEG/RAD)                                        ASA23720
  2373.       VIMAG = VMAG*SIN(VDEG/RAD)                                        ASA23730
  2374.       VOLT(NGEN) = CMPLX(VREAL,VIMAG)                                   ASA23740
  2375.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA23750
  2376.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA23760
  2377.       IF ((A(N2).EQ.SLANT).AND.(A(N2+1).EQ.BLANK)) GO TO 48             ASA23770
  2378.       N = N2+1                                                          ASA23780
  2379.       GO TO 47                                                          ASA23790
  2380.    48 READ (5,76) A                                                     ASA23800
  2381.       ICARD = ICARD+1                                                   ASA23810
  2382.       WRITE (6,77) ICARD,A                                              ASA23820
  2383.       N = 1                                                             ASA23830
  2384.       CALL BLNK (A)                                                     ASA23840
  2385.       GO TO 47                                                          ASA23850
  2386. C                                                                       ASA23860
  2387. C                                                                       ASA23870
  2388. C     DESCRIPTION                                                       ASA23880
  2389. C                                                                       ASA23890
  2390.    49 IF ((A(1).NE.AD).OR.(A(2).NE.AE).OR.(A(3).NE.AS).OR.(A(4).NE.AC)) ASA23900
  2391.      1GO TO 52                                                          ASA23910
  2392.       KFLAG(12) = 1                                                     ASA23920
  2393.       J = 0                                                             ASA23930
  2394.       CALL LEFT (N)                                                     ASA23940
  2395.    50 CALL NUMBER (N,N2,X1,IX)                                          ASA23950
  2396.       J = J+1                                                           ASA23960
  2397.       NM = J                                                            ASA23970
  2398.       IA(J) = IX                                                        ASA23980
  2399.       N = N2+1                                                          ASA23990
  2400.       CALL NUMBER (N,N2,X1,IX)                                          ASA24000
  2401.       IB(J) = IX                                                        ASA24010
  2402.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA24020
  2403.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA24030
  2404.       IF ((A(N2).EQ.SLANT).AND.(A(N+1).EQ.BLANK)) GO TO 51              ASA24040
  2405.       N = N2+1                                                          ASA24050
  2406.       GO TO 50                                                          ASA24060
  2407.    51 READ (5,76) A                                                     ASA24070
  2408.       ICARD = ICARD+1                                                   ASA24080
  2409.       CALL BLNK (A)                                                     ASA24090
  2410.       WRITE (6,77) ICARD,A                                              ASA24100
  2411.       N = 1                                                             ASA24110
  2412.       GO TO 50                                                          ASA24120
  2413. C                                                                       ASA24130
  2414. C     GEOMETRY                                                          ASA24140
  2415. C                                                                       ASA24150
  2416.    52 IF ((A(1).NE.AG).OR.(A(2).NE.AE).OR.(A(3).NE.AO).OR.(A(4).NE.AMA))ASA24160
  2417.      1 GO TO 55                                                         ASA24170
  2418.       KFLAG(12) = 1                                                     ASA24180
  2419.       JJ = 0                                                            ASA24190
  2420.       CALL LEFT (N)                                                     ASA24200
  2421.    53 CALL NUMBER (N,N2,X1,IX)                                          ASA24210
  2422.       JJ = JJ+1                                                         ASA24220
  2423.       NP = JJ                                                           ASA24230
  2424.       X(JJ) = X1                                                        ASA24240
  2425.       N = N2+1                                                          ASA24250
  2426.       CALL NUMBER (N,N2,X1,IX)                                          ASA24260
  2427.       Y(JJ) = X1                                                        ASA24270
  2428.       N = N2+1                                                          ASA24280
  2429.       CALL NUMBER (N,N2,X1,IX)                                          ASA24290
  2430.       Z(JJ) = X1                                                        ASA24300
  2431.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA24310
  2432.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA24320
  2433.       IF ((A(N2).EQ.SLANT).AND.(A(N+1).EQ.BLANK)) GO TO 54              ASA24330
  2434.       N = N2+1                                                          ASA24340
  2435.       GO TO 53                                                          ASA24350
  2436.    54 READ (5,76) A                                                     ASA24360
  2437.       ICARD = ICARD+1                                                   ASA24370
  2438.       WRITE (6,77) ICARD,A                                              ASA24380
  2439.       CALL BLNK (A)                                                     ASA24390
  2440.       N = 1                                                             ASA24400
  2441.       GO TO 53                                                          ASA24410
  2442. C                                                                       ASA24420
  2443. C     INTERVAL FOR CALCULATION                                          ASA24430
  2444. C                                                                       ASA24440
  2445.    55 IF ((A(1).NE.AI).OR.(A(2).NE.AN).OR.(A(3).NE.AT).OR.(A(4).NE.AE)) ASA24450
  2446.      1GO TO 56                                                          ASA24460
  2447.       KFLAG(21) = 1                                                     ASA24470
  2448.       CALL LEFT (N)                                                     ASA24480
  2449.       CALL NUMBER (N,N2,X1,IX)                                          ASA24490
  2450.       INT = IX                                                          ASA24500
  2451.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA24510
  2452.       GO TO 71                                                          ASA24520
  2453. C                                                                       ASA24530
  2454. C     GROUND                                                            ASA24540
  2455. C                                                                       ASA24550
  2456.    56 IF ((A(1).NE.AG).OR.(A(2).NE.AR).OR.(A(3).NE.AO).OR.(A(4).NE.AU)) ASA24560
  2457.      1GO TO 66                                                          ASA24570
  2458.       KFLAG(25) = 1                                                     ASA24580
  2459.       KFLAG(26) = 1                                                     ASA24590
  2460.       IGRD = 2                                                          ASA24600
  2461.       CALL LEFT (N)                                                     ASA24610
  2462.    57 IF ((A(N).NE.AP).OR.(A(N+1).NE.AE).OR.(A(N+2).NE.AR).OR.(A(N+3).NEASA24620
  2463.      1.AF)) GO TO 58                                                    ASA24630
  2464.       IGRD = 1                                                          ASA24640
  2465.       GO TO 64                                                          ASA24650
  2466.    58 IF ((A(N).NE.AG).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AO).OR.(A(N+3).NEASA24660
  2467.      1.AD)) GO TO 59                                                    ASA24670
  2468.       ER4 = 30.                                                         ASA24680
  2469.       SIG4 = .02                                                        ASA24690
  2470.       GO TO 64                                                          ASA24700
  2471.    59 IF ((A(N).NE.AP).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AO).OR.(A(N+3).NEASA24710
  2472.      1.AR)) GO TO 60                                                    ASA24720
  2473.       ER4 = 4.                                                          ASA24730
  2474.       SIG4 = .001                                                       ASA24740
  2475.       GO TO 64                                                          ASA24750
  2476.    60 IF ((A(N).NE.AS).OR.(A(N+1).NE.AE).OR.(A(N+2).NE.AA)) GO TO 61    ASA24760
  2477.       ER4 = 80.                                                         ASA24770
  2478.       SIG4 = 4.                                                         ASA24780
  2479.       GO TO 64                                                          ASA24790
  2480.    61 IF ((A(N).NE.AH).OR.(A(N+1).NE.AE).OR.(A(N+2).NE.AI).OR.(A(N+3).NEASA24800
  2481.      1.AG)) GO TO 62                                                    ASA24810
  2482.       CALL EQUAL (N)                                                    ASA24820
  2483.       CALL NUMBER (N,N2,X1,IX)                                          ASA24830
  2484.       HGT = X1                                                          ASA24840
  2485.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA24850
  2486.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA24860
  2487.       N = N2+1                                                          ASA24870
  2488.       GO TO 57                                                          ASA24880
  2489.    62 IF ((A(N).NE.AC).OR.(A(N+1).NE.AO).OR.(A(N+2).NE.AN).OR.(A(N+3).NEASA24890
  2490.      1.AD)) GO TO 63                                                    ASA24900
  2491.       CALL EQUAL (N)                                                    ASA24910
  2492.       CALL NUMBER (N,N2,X1,IX)                                          ASA24920
  2493.       SIG4 = X1                                                         ASA24930
  2494.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA24940
  2495.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA24950
  2496.       N = N2+1                                                          ASA24960
  2497.       GO TO 57                                                          ASA24970
  2498.    63 IF ((A(N).NE.AD).OR.(A(N+1).NE.AI).OR.(A(N+2).NE.AE).OR.(A(N+3).NEASA24980
  2499.      1.AL)) GO TO 71                                                    ASA24990
  2500.       CALL EQUAL (N)                                                    ASA25000
  2501.       CALL NUMBER (N,N2,X1,IX)                                          ASA25010
  2502.       ER4 = X1                                                          ASA25020
  2503.       IF (A(N2).EQ.RIGHT) GO TO 4                                       ASA25030
  2504.       IF (A(N2).NE.SLANT) GO TO 71                                      ASA25040
  2505.       N = N2+1                                                          ASA25050
  2506.       GO TO 57                                                          ASA25060
  2507. C                                                                       ASA25070
  2508. C                                                                       ASA25080
  2509. C                                                                       ASA25090
  2510.    64 NSPL = N                                                          ASA25100
  2511.       DO 65 K=NSPL,80                                                   ASA25110
  2512.       IF (A(K).EQ.RIGHT) GO TO 4                                        ASA25120
  2513.       N = K+1                                                           ASA25130
  2514.       IF (A(K).EQ.SLANT) GO TO 57                                       ASA25140
  2515.    65 CONTINUE                                                          ASA25150
  2516. C                                                                       ASA25160
  2517. C                                                                       ASA25170
  2518. C                                                                       ASA25180
  2519.       GO TO 71                                                          ASA25190
  2520. C                                                                       ASA25200
  2521. C                                                                       ASA25210
  2522.    66 IF ((A(1).NE.AS).OR.(A(2).NE.AT).OR.(A(3).NE.AO).OR.(A(4).NE.AP)) ASA25220
  2523.      1GO TO 67                                                          ASA25230
  2524.       IFLAG = 2                                                         ASA25240
  2525.       RETURN                                                            ASA25250
  2526. C                                                                       ASA25260
  2527.    67 IF ((A(1).NE.AC).OR.(A(2).NE.AH).OR.(A(3).NE.AA).OR.(A(4).NE.AN)) ASA25270
  2528.      1GO TO 68                                                          ASA25280
  2529.       IFLAG = 3                                                         ASA25290
  2530.       RETURN                                                            ASA25300
  2531. C                                                                       ASA25310
  2532.    68 IF ((A(1).NE.AE).OR.(A(2).NE.AN).OR.(A(3).NE.AD)) GO TO 71        ASA25320
  2533.       IFLAG = 1                                                         ASA25330
  2534.       RETURN                                                            ASA25340
  2535.    69 IFLAG = 5                                                         ASA25350
  2536.       RETURN                                                            ASA25360
  2537.    70 IFLAG = 4                                                         ASA25370
  2538.       RETURN                                                            ASA25380
  2539.    71 MSG = 1                                                           ASA25390
  2540.       KFLAG(30) = ICARD                                                 ASA25400
  2541.       GO TO 4                                                           ASA25410
  2542.    72 IF (IFLAG.NE.5) WRITE (6,78)                                      ASA25420
  2543.       IFLAG = 5                                                         ASA25430
  2544.       RETURN                                                            ASA25440
  2545. C                                                                       ASA25450
  2546.    73 IFLAG = 6                                                         ASA25460
  2547.       ICARD = ICARD-1                                                   ASA25470
  2548.       RETURN                                                            ASA25480
  2549. C                                                                       ASA25490
  2550. C                                                                       ASA25500
  2551. C                                                                       ASA25510
  2552.    74 FORMAT (5X,80A1)                                                  ASA25520
  2553.    75 FORMAT (////5X,'DATA CARDS'//)                                    ASA25530
  2554.    76 FORMAT (80A1)                                                     ASA25540
  2555.    77 FORMAT (6X,I2,2X,80A1)                                            ASA25550
  2556.    78 FORMAT ('    $$$$$ END CARD/STOP CARD MISSING****')               ASA25560
  2557.       END                                                               ASA25570
  2558.       SUBROUTINE RITE (IA,IB,INM,IWR,I1,I2,I3,MD,ND,NM,CJ,CG,IGRD)      ASA25580
  2559.       COMPLEX CJ(1),CG(1),CJA,CJB                                       ASA25590
  2560.       DIMENSION IA(1), IB(1), I1(1), I2(1), I3(1), MD(INM,4), ND(1)     ASA25600
  2561.       AMAX = .0                                                         ASA25610
  2562. C                                                                       ASA25620
  2563. C                                                                       ASA25630
  2564.       DO 3 K=1,NM                                                       ASA25640
  2565.       KA = IA(K)                                                        ASA25650
  2566.       KB = IB(K)                                                        ASA25660
  2567.       CJA = (.0,.0)                                                     ASA25670
  2568.       CJB = (.0,.0)                                                     ASA25680
  2569.       NDK = ND(K)                                                       ASA25690
  2570. C                                                                       ASA25700
  2571. C                                                                       ASA25710
  2572.       DO 2 II=1,NDK                                                     ASA25720
  2573.       I = MD(K,II)                                                      ASA25730
  2574.       FI = 1.                                                           ASA25740
  2575.       IF (KB.EQ.I2(I)) GO TO 1                                          ASA25750
  2576.       IF (KB.EQ.I1(I)) FI=-1.                                           ASA25760
  2577.       CJA = CJA+FI*CJ(I)                                                ASA25770
  2578.       GO TO 2                                                           ASA25780
  2579.     1 IF (KA.EQ.I3(I)) FI=-1.                                           ASA25790
  2580.       CJB = CJB+FI*CJ(I)                                                ASA25800
  2581.     2 CONTINUE                                                          ASA25810
  2582. C                                                                       ASA25820
  2583. C                                                                       ASA25830
  2584.       CG(K) = CJA                                                       ASA25840
  2585.       KK = K+NM                                                         ASA25850
  2586.       CG(KK) = CJB                                                      ASA25860
  2587.       ACJ = CABS(CJA)                                                   ASA25870
  2588.       BCJ = CABS(CJB)                                                   ASA25880
  2589.       IF (ACJ.GT.AMAX) AMAX=ACJ                                         ASA25890
  2590.       IF (BCJ.GT.AMAX) AMAX=BCJ                                         ASA25900
  2591.     3 CONTINUE                                                          ASA25910
  2592. C                                                                       ASA25920
  2593. C                                                                       ASA25930
  2594.       IF (IWR.GT.0) GO TO 4                                             ASA25940
  2595.       RETURN                                                            ASA25950
  2596.     4 IF (AMAX.LE.0.) AMAX=1.                                           ASA25960
  2597.       WRITE (6,8)                                                       ASA25970
  2598.       NMG = NM                                                          ASA25980
  2599.       IF (IGRD.GT.0) NMG = NM/2                                         ASA25990
  2600. C                                                                       ASA26000
  2601.       DO 5 K=1,NMG                                                      ASA26010
  2602.       CJA = CG(K)                                                       ASA26020
  2603.       KK = K+NM                                                         ASA26030
  2604.       CJB = CG(KK)                                                      ASA26040
  2605.       CCJA = CABS(CJA)                                                  ASA26050
  2606.       CCJB = CABS(CJB)                                                  ASA26060
  2607.       ACJ = CCJA/AMAX                                                   ASA26070
  2608.       BCJ = CCJB/AMAX                                                   ASA26080
  2609.       PA = .0                                                           ASA26090
  2610.       PB = .0                                                           ASA26100
  2611.       IF (ACJ.GT.0.) PA = 57.29578*ATAN2(AIMAG(CJA),REAL(CJA))          ASA26110
  2612.       IF (BCJ.GT.0.) PB = 57.29578*ATAN2(AIMAG(CJB),REAL(CJB))          ASA26120
  2613.     5 WRITE (6,7) K,IA(K),CJA,CCJA,ACJ,PA,IB(K),CJB,CCJB,BCJ,PB         ASA26130
  2614. C                                                                       ASA26140
  2615. C                                                                       ASA26150
  2616.       WRITE (6,6)                                                       ASA26160
  2617.       RETURN                                                            ASA26170
  2618. C                                                                       ASA26180
  2619. C                                                                       ASA26190
  2620.     6 FORMAT (1H0)                                                      ASA26200
  2621.     7 FORMAT (2X,I2,2(2X,I2,2X,E11.5,1X,E11.5,1X,E11.5,1X,E11.5,1X,F6.1)ASA26210
  2622.      1)                                                                 ASA26220
  2623.     8 FORMAT (/2(46X,'NORMALIZED',5X)/' SEG',2(' NODE',4X,'REAL',6X,'IMAASA26230
  2624.      1GINARY',3X,'MAGNITUDE',3X,'MAGNITUDE',3X,'PHASE'))                ASA26240
  2625.       END                                                               ASA26250
  2626.       SUBROUTINE SART (DATAX,DATAY,N)                                   ASA26260
  2627.       DIMENSION DATAX(500), DATAY(500)                                  ASA26270
  2628. C                                                                       ASA26280
  2629. C     THIS ROUTINE SORTS DATA IN DATAY BY MAGNITUDE                     ASA26290
  2630. C                                                                       ASA26300
  2631.       NN = N-1                                                          ASA26310
  2632. C                                                                       ASA26320
  2633.       DO 2 I=1,NN                                                       ASA26330
  2634.       NM = I+1                                                          ASA26340
  2635. C                                                                       ASA26350
  2636.       DO 1 J=NM,N                                                       ASA26360
  2637.       IF (DATAY(I).GE.DATAY(J)) GO TO 1                                 ASA26370
  2638.       STOR = DATAY(I)                                                   ASA26380
  2639.       DATA Y(I) = DATAY(J)                                              ASA26390
  2640.       DATA Y(J) = STOR                                                  ASA26400
  2641.       STOR = DATAX(I)                                                   ASA26410
  2642.       DATA X(I) = DATAX(J)                                              ASA26420
  2643.       DATA X(J) = STOR                                                  ASA26430
  2644.     1 CONTINUE                                                          ASA26440
  2645. C                                                                       ASA26450
  2646.     2 CONTINUE                                                          ASA26460
  2647. C                                                                       ASA26470
  2648.       RETURN                                                            ASA26480
  2649.       END                                                               ASA26490
  2650.       SUBROUTINE SGANT (IA,IB,INM,INT,ISC,I1,I2,I3,JA,JB,MD,N,ND,NM,NP,AASA26500
  2651.      1M,BM,C,CGD,CMM,D,EP2,EP3,ETA,FHZ,GAM,SGD,X,Y,Z,ZLD,ZS,ERR,IGRD)   ASA26510
  2652.       COMPLEX ERR                                                       ASA26520
  2653.       COMPLEX ZG,ZH,ZS,EGD,GD,CGDS,SGDS,SGDT,B01                        ASA26530
  2654.       COMPLEX P11,P12,P21,P22,Q11,Q12,Q21,Q22,EP2,EP,ETA,GAM,EP3        ASA26540
  2655.       COMPLEX EPSILA,CWEA,BETA,ZARG                                     ASA26550
  2656.       COMPLEX P(2,2),Q(2,2),CGD(1),SGD(1),C(1),ZLD(1)                   ASA26560
  2657.       DIMENSION X(1), Y(1), Z(1), D(1), IA(1), IB(1), MD(INM,4)         ASA26570
  2658.       DIMENSION I1(1), I2(1), I3(1), JA(1), JB(1), ND(1), ISC(1)        ASA26580
  2659.       DATA E0,TP,U0/8.854E-12,6.28318,1.2566E-6/                        ASA26590
  2660.       EP = EP3                                                          ASA26600
  2661.       ICC = (N*N+N)/2                                                   ASA26610
  2662. C                                                                       ASA26620
  2663.       DO 1 I=1,ICC                                                      ASA26630
  2664.     1 C(I) = (.0,.0)                                                    ASA26640
  2665. C                                                                       ASA26650
  2666.       ZS = (.0,.0)                                                      ASA26660
  2667.       IF (CMM.LE.0.) GO TO 2                                            ASA26670
  2668.       OMEGA = TP*FHZ                                                    ASA26680
  2669.       EPSILA = CMPLX(E0,-CMM*1.E6/OMEGA)                                ASA26690
  2670.       CWEA = (.0,1.)*OMEGA*EPSILA                                       ASA26700
  2671.       BETA = OMEGA*SQRT(U0)*CSQRT(EPSILA-EP)                            ASA26710
  2672.       ZARG = BETA*AM                                                    ASA26720
  2673.       CALL CBES (ZARG,B01)                                              ASA26730
  2674.       ZS = BETA*B01/CWEA                                                ASA26740
  2675.     2 ZH = ZS/(TP*AM*GAM)                                               ASA26750
  2676.       DMIN = 1.E30                                                      ASA26760
  2677.       DMAX = .0                                                         ASA26770
  2678. C                                                                       ASA26780
  2679.       DO 3 J=1,NM                                                       ASA26790
  2680.       K = IA(J)                                                         ASA26800
  2681.       L = IB(J)                                                         ASA26810
  2682.       D(J) = SQRT((X(K)-X(L))**2+(Y(K)-Y(L))**2+(Z(K)-Z(L))**2)         ASA26820
  2683.       IF (D(J).LT.DMIN) DMIN=D(J)                                       ASA26830
  2684.       IF (D(J).GT.DMAX) DMAX=D(J)                                       ASA26840
  2685.       EGD = CEXP(GAM*D(J))                                              ASA26850
  2686.       CGD(J) = (EGD+1./EGD)/2.                                          ASA26860
  2687.     3 SGD(J) = (EGD-1./EGD)/2.                                          ASA26870
  2688. C                                                                       ASA26880
  2689.       IF (DMIN.LT.2.*AM) GO TO 4                                        ASA26890
  2690.       IF (CABS(GAM*AM).GT.0.06) GO TO 4                                 ASA26900
  2691.       IF (CABS(GAM*DMAX).GT.3.) GO TO 4                                 ASA26910
  2692.       IF (AM.GT.0.) GO TO 5                                             ASA26920
  2693.     4 CONTINUE                                                          ASA26930
  2694. C     N=0                                                               ASA26940
  2695.       WRITE (6,24) AM,DMAX,DMIN                                         ASA26950
  2696.       WRITE (6,25)                                                      ASA26960
  2697. C                                                                       ASA26970
  2698.     5 DO 19 K=1,NM                                                      ASA26980
  2699.       IFLAG = 0                                                         ASA26990
  2700.       IF ((IGRD.GT.0).AND.(K.GT.NM/2)) IFLAG=1                          ASA27000
  2701.       NDK = ND(K)                                                       ASA27010
  2702.       KA = IA(K)                                                        ASA27020
  2703.       KB = IB(K)                                                        ASA27030
  2704.       DK = D(K)                                                         ASA27040
  2705.       CGDS = CGD(K)                                                     ASA27050
  2706.       SGDS = SGD(K)                                                     ASA27060
  2707. C                                                                       ASA27070
  2708.       DO 19 L=1,NM                                                      ASA27080
  2709.       JFLAG = 0                                                         ASA27090
  2710.       IF ((IGRD.GT.0).AND.(L.GT.NM/2)) JFLAG=1                          ASA27100
  2711.       NDL = ND(L)                                                       ASA27110
  2712.       LA = IA(L)                                                        ASA27120
  2713.       LB = IB(L)                                                        ASA27130
  2714.       DL = D(L)                                                         ASA27140
  2715.       SGDT = SGD(L)                                                     ASA27150
  2716.       NIL = 0                                                           ASA27160
  2717. C                                                                       ASA27170
  2718.       DO 19 II=1,NDK                                                    ASA27180
  2719.       I = MD(K,II)                                                      ASA27190
  2720.       MM = (I-1)*N-(I*I-I)/2                                            ASA27200
  2721.       FI = 1.                                                           ASA27210
  2722.       IF (KB.EQ.I2(I)) GO TO 6                                          ASA27220
  2723.       IF (KB.EQ.I1(I)) FI=-1.                                           ASA27230
  2724.       IS = 1                                                            ASA27240
  2725.       GO TO 7                                                           ASA27250
  2726.     6 IF (KA.EQ.I3(I)) FI=-1.                                           ASA27260
  2727.       IS = 2                                                            ASA27270
  2728. C                                                                       ASA27280
  2729.     7 DO 19 JJ=1,NDL                                                    ASA27290
  2730.       J = MD(L,JJ)                                                      ASA27300
  2731.       MMM = MM+J                                                        ASA27310
  2732.       IF (I.GT.J) GO TO 19                                              ASA27320
  2733.       FJ = 1.                                                           ASA27330
  2734.       IF (LB.EQ.I2(J)) GO TO 8                                          ASA27340
  2735.       IF (LB.EQ.I1(J)) FJ=-1.                                           ASA27350
  2736.       JS = 1                                                            ASA27360
  2737.       GO TO 9                                                           ASA27370
  2738.     8 IF (LA.EQ.I3(J)) FJ=-1.                                           ASA27380
  2739.       JS = 2                                                            ASA27390
  2740.     9 IF (NIL.NE.0) GO TO 18                                            ASA27400
  2741.       NIL = 1                                                           ASA27410
  2742.       IF (K.EQ.L) GO TO 14                                              ASA27420
  2743.       IND = (LA-KA)*(LB-KA)*(LA-KB)*(LB-KB)                             ASA27430
  2744.       NGRD = IGRD                                                       ASA27440
  2745.       IF (IFLAG.EQ.JFLAG) IGRD=-1                                       ASA27450
  2746.       IF (IND.EQ.0) GO TO 10                                            ASA27460
  2747. C     SEGMENTS K AND L SHARE NO POINTS                                  ASA27470
  2748.       CALL GGS (X(KA),Y(KA),Z(KA),X(KB),Y(KB),Z(KB),X(LA),Y(LA),Z(LA),X(ASA27480
  2749.      1LB),Y(LB),Z(LB),AM,DK,CGDS,SGDS,DL,SGDT,INT,ETA,GAM,P(1,1),P(1,2),ASA27490
  2750.      2P(2,1),P(2,2),ERR,IGRD)                                           ASA27500
  2751.       IGRD = NGRD                                                       ASA27510
  2752.       GO TO 18                                                          ASA27520
  2753. C     SEGMENTS K AND L SHARE ONE POINT (THEY INTERSECT)                 ASA27530
  2754.    10 KG = 0                                                            ASA27540
  2755.       JM = KB                                                           ASA27550
  2756.       JC = KA                                                           ASA27560
  2757.       KF = 1                                                            ASA27570
  2758.       IND = (KB-LA)*(KB-LB)                                             ASA27580
  2759.       IF (IND.NE.0) GO TO 11                                            ASA27590
  2760.       JC = KB                                                           ASA27600
  2761.       KF = -1                                                           ASA27610
  2762.       JM = KA                                                           ASA27620
  2763.       KG = 3                                                            ASA27630
  2764.    11 LG = 3                                                            ASA27640
  2765.       JP = LA                                                           ASA27650
  2766.       LF = -1                                                           ASA27660
  2767.       IF (LB.EQ.JC) GO TO 12                                            ASA27670
  2768.       JP = LB                                                           ASA27680
  2769.       LF = 1                                                            ASA27690
  2770.       LG = 0                                                            ASA27700
  2771.    12 SGN = KF*LF                                                       ASA27710
  2772.       CPSI = ((X(JP)-X(JC))*(X(JM)-X(JC))+(Y(JP)-Y(JC))*(Y(JM)-Y(JC))+(ZASA27720
  2773.      1(JP)-Z(JC))*(Z(JM)-Z(JC)))/(DK*DL)                                ASA27730
  2774.       CALL GGMM (.0,DK,.0,DL,AM,CGDS,SGDS,SGDT,CPSI,ETA,GAM,Q(1,1),Q(1,2ASA27740
  2775.      1),Q(2,1),Q(2,2))                                                  ASA27750
  2776. C                                                                       ASA27760
  2777.       DO 13 KK=1,2                                                      ASA27770
  2778.       KP = IABS(KK-KG)                                                  ASA27780
  2779. C                                                                       ASA27790
  2780.       DO 13 LL=1,2                                                      ASA27800
  2781.       LP = IABS(LL-LG)                                                  ASA27810
  2782.       P(KP,LP) = SGN*Q(KK,LL)                                           ASA27820
  2783.    13 CONTINUE                                                          ASA27830
  2784. C                                                                       ASA27840
  2785.       IGRD=NGRD                                                         ASA27850
  2786.       GO TO 18                                                          ASA27860
  2787. C     K=L  (SELF REACTION OF SEGMENT K)                                 ASA27870
  2788.    14 Q11 = (.0,.0)                                                     ASA27880
  2789.       Q12 = (.0,.0)                                                     ASA27890
  2790.       IF (CMM.LE.0.) GO TO 15                                           ASA27900
  2791.       GD = GAM*DK                                                       ASA27910
  2792.       ZG = ZH/(SGDS**2)                                                 ASA27920
  2793.       Q11 = ZG*(SGDS*CGDS-GD)/2.                                        ASA27930
  2794.       Q12 = ZG*(GD*CGDS-SGDS)/2.                                        ASA27940
  2795.    15 ISCK = ISC(K)                                                     ASA27950
  2796.       P11 = (.0,.0)                                                     ASA27960
  2797.       P12 = (.0,.0)                                                     ASA27970
  2798.       IF (ISCK.EQ.0) GO TO 16                                           ASA27980
  2799.       IF (BM.LE.AM) GO TO 16                                            ASA27990
  2800.       CALL DSHELL (AM,BM,DK,CGDS,SGDS,EP2,EP,ETA,GAM,P11,P12)           ASA28000
  2801.    16 Q11 = P11+Q11                                                     ASA28010
  2802.       Q12 = P12+Q12                                                     ASA28020
  2803.       CALL GGMM (.0,DK,.0,DK,AM,CGDS,SGDS,SGDS,1.,ETA,GAM,P11,P12,P21,P2ASA28030
  2804.      12)                                                                ASA28040
  2805.       Q11 = P11+Q11                                                     ASA28050
  2806.       Q12 = P12+Q12                                                     ASA28060
  2807.       P(1,1) = Q11                                                      ASA28070
  2808.       P(1,2) = Q12                                                      ASA28080
  2809.       P(2,1) = Q12                                                      ASA28090
  2810.       P(2,2) = Q11                                                      ASA28100
  2811.       IF (KA.NE.LA) GO TO 17                                            ASA28110
  2812.       GO TO 18                                                          ASA28120
  2813.    17 P(1,1) = -Q12                                                     ASA28130
  2814.       P(1,2) = -Q11                                                     ASA28140
  2815.       P(2,1) = -Q11                                                     ASA28150
  2816.       P(2,2) = -Q12                                                     ASA28160
  2817.    18 C(MMM) = C(MMM)+FI*FJ*P(IS,JS)                                    ASA28170
  2818.    19 CONTINUE                                                          ASA28180
  2819. C                                                                       ASA28190
  2820. C                                                                       ASA28200
  2821.       DO 23 I=1,N                                                       ASA28210
  2822.       MM = (I-1)*N-(I*I-I)/2                                            ASA28220
  2823.       IJ = MM+I                                                         ASA28230
  2824.       JJA = JA(I)                                                       ASA28240
  2825.       J1 = JJA                                                          ASA28250
  2826.       II2 = I2(I)                                                       ASA28260
  2827.       II1 = I1(I)                                                       ASA28270
  2828.       IF (II2.EQ.IB(J1)) J1=J1+NM                                       ASA28280
  2829.       JJB = JB(I)                                                       ASA28290
  2830.       J2 = JJB                                                          ASA28300
  2831.       IF (II2.EQ.IB(J2)) J2=J2+NM                                       ASA28310
  2832.       C(IJ) = C(IJ)+ZLD(J1)+ZLD(J2)                                     ASA28320
  2833.       JJJ = JJA                                                         ASA28330
  2834. C                                                                       ASA28340
  2835.       DO 22 K=1,2                                                       ASA28350
  2836.       NDJ = ND(JJJ)                                                     ASA28360
  2837. C                                                                       ASA28370
  2838.       DO 21 JJ=1,NDJ                                                    ASA28380
  2839.       J = MD(JJJ,JJ)                                                    ASA28390
  2840.       IF (J.EQ.I) GO TO 21                                              ASA28400
  2841.       IF (I2(J).NE.II2) GO TO 21                                        ASA28410
  2842.       IJ = MM+J                                                         ASA28420
  2843.       FI = 1.                                                           ASA28430
  2844.       IF (K.EQ.2) GO TO 20                                              ASA28440
  2845.       IF (I1(J).NE.II1) FI=-1.                                          ASA28450
  2846.       C(IJ) = C(IJ)+FI*ZLD(J1)                                          ASA28460
  2847.       GO TO 21                                                          ASA28470
  2848.    20 IF (I3(J).NE.I3(I)) FI=-1.                                        ASA28480
  2849.       C(IJ) = C(IJ)+FI*ZLD(J2)                                          ASA28490
  2850.    21 CONTINUE                                                          ASA28500
  2851. C                                                                       ASA28510
  2852.    22 JJJ = JJB                                                         ASA28520
  2853. C                                                                       ASA28530
  2854.    23 CONTINUE                                                          ASA28540
  2855. C                                                                       ASA28550
  2856.       RETURN                                                            ASA28560
  2857. C                                                                       ASA28570
  2858.    24 FORMAT (3X,'AM = ',E10.3,3X,'DMAX = ',E10.3,3X,'DMIN = ',E10.3)   ASA28580
  2859.    25 FORMAT (' WARNING **********************************************'/ASA28590
  2860.      1,' THIS PROBLEM EXCEED LIMIT OF THIN WIRE CONDITION, THE RESULTS  ASA28600
  2861.      2 ARE NOT CORRECT')                                                ASA28610
  2862.       END                                                               ASA28620
  2863.       SUBROUTINE SORT (IA,IB,I1,I2,I3,JA,JB,MD,ND,NM,NP,N,MAX,MIN,ICJ,INASA28630
  2864.      1M)                                                                ASA28640
  2865.       DIMENSION JSP(20)                                                 ASA28650
  2866.       DIMENSION I1(1), I2(1), I3(1), JA(1), JB(1)                       ASA28660
  2867.       DIMENSION IA(1), IB(1), ND(1), MD(INM,4)                          ASA28670
  2868.       I = 0                                                             ASA28680
  2869. C                                                                       ASA28690
  2870.       DO 3 K=1,NP                                                       ASA28700
  2871.       NJK = 0                                                           ASA28710
  2872. C                                                                       ASA28720
  2873.       DO 1 J=1,NM                                                       ASA28730
  2874.       IND = (IA(J)-K)*(IB(J)-K)                                         ASA28740
  2875.       IF (IND.NE.0) GO TO 1                                             ASA28750
  2876.       NJK = NJK+1                                                       ASA28760
  2877.       JSP(NJK) = J                                                      ASA28770
  2878.     1 CONTINUE                                                          ASA28780
  2879. C                                                                       ASA28790
  2880.       MOD = NJK-1                                                       ASA28800
  2881.       IF (MOD.LE.0) GO TO 3                                             ASA28810
  2882. C                                                                       ASA28820
  2883.       DO 2 IMD=1,MOD                                                    ASA28830
  2884.       I = I+1                                                           ASA28840
  2885.       IF (I.GT.ICJ) GO TO 2                                             ASA28850
  2886.       IPD = IMD+1                                                       ASA28860
  2887.       JAI = JSP(IMD)                                                    ASA28870
  2888.       JA(I) = JAI                                                       ASA28880
  2889.       JBI = JSP(IPD)                                                    ASA28890
  2890.       JB(I) = JBI                                                       ASA28900
  2891.       I1(I) = IA(JAI)                                                   ASA28910
  2892.       IF (IA(JAI).EQ.K) I1(I)=IB(JAI)                                   ASA28920
  2893.       I2(I) = K                                                         ASA28930
  2894.       I3(I) = IA(JBI)                                                   ASA28940
  2895.       IF (IA(JBI).EQ.K) I3(I)=IB(JBI)                                   ASA28950
  2896.     2 CONTINUE                                                          ASA28960
  2897. C                                                                       ASA28970
  2898.     3 CONTINUE                                                          ASA28980
  2899. C                                                                       ASA28990
  2900.       N = I                                                             ASA29000
  2901. C                                                                       ASA29010
  2902.       DO 4 J=1,NM                                                       ASA29020
  2903.       ND(J) = 0                                                         ASA29030
  2904. C                                                                       ASA29040
  2905.       DO 4 K=1,4                                                        ASA29050
  2906.     4 MD(J,K) = 0                                                       ASA29060
  2907. C                                                                       ASA29070
  2908.       III = N                                                           ASA29080
  2909.       IF (N.GT.ICJ) III = ICJ                                           ASA29090
  2910. C                                                                       ASA29100
  2911.       DO 8 I=1,III                                                      ASA29110
  2912.       J = JA(I)                                                         ASA29120
  2913. C                                                                       ASA29130
  2914.       DO 7 L=1,2                                                        ASA29140
  2915.       ND(J) = ND(J)+1                                                   ASA29150
  2916.       K = 1                                                             ASA29160
  2917.       M = 0                                                             ASA29170
  2918.     5 MJK = MD(J,K)                                                     ASA29180
  2919.       IF (MJK.NE.0) GO TO 6                                             ASA29190
  2920.       M = 1                                                             ASA29200
  2921.       MD(J,K) = I                                                       ASA29210
  2922.     6 K = K+1                                                           ASA29220
  2923.       IF (K.GT.4) GO TO 7                                               ASA29230
  2924.       IF (M.EQ.0) GO TO 5                                               ASA29240
  2925.     7 J = JB(I)                                                         ASA29250
  2926. C                                                                       ASA29260
  2927.     8 CONTINUE                                                          ASA29270
  2928. C                                                                       ASA29280
  2929.       MIN = 100                                                         ASA29290
  2930.       MAX = 0                                                           ASA29300
  2931. C                                                                       ASA29310
  2932.       DO 9 J=1,NM                                                       ASA29320
  2933.       NDJ = ND(J)                                                       ASA29330
  2934.       IF (NDJ.GT.MAX) MAX=NDJ                                           ASA29340
  2935.     9 IF (NDJ.LT.MIN) MIN=NDJ                                           ASA29350
  2936. C                                                                       ASA29360
  2937.       RETURN                                                            ASA29370
  2938.       END                                                               ASA29380
  2939.       SUBROUTINE SQROT (C,S,IWR,I12,NEQ)                                ASA29390
  2940.       COMPLEX C(1),S(1),SS                                              ASA29400
  2941.       N = NEQ                                                           ASA29410
  2942.       IF (I12.EQ.2) GO TO 6                                             ASA29420
  2943.       C(1) = CSQRT(C(1))                                                ASA29430
  2944. C                                                                       ASA29440
  2945.       DO 1 K=2,N                                                        ASA29450
  2946.     1 C(K) = C(K)/C(1)                                                  ASA29460
  2947. C                                                                       ASA29470
  2948. C                                                                       ASA29480
  2949.       DO 5 I=2,N                                                        ASA29490
  2950.       IMO = I-1                                                         ASA29500
  2951.       IPO = I+1                                                         ASA29510
  2952.       ID = (I-1)*N-(I*I-I)/2                                            ASA29520
  2953.       II = ID+I                                                         ASA29530
  2954. C                                                                       ASA29540
  2955.       DO 2 L=1,IMO                                                      ASA29550
  2956.       LI = (L-1)*N-(L*L-L)/2+I                                          ASA29560
  2957.     2 C(II) = C(II)-C(LI)*C(LI)                                         ASA29570
  2958. C                                                                       ASA29580
  2959.       C(II) = CSQRT(C(II))                                              ASA29590
  2960.       IF (IPO.GT.N) GO TO 5                                             ASA29600
  2961. C                                                                       ASA29610
  2962.       DO 4 J=IPO,N                                                      ASA29620
  2963.       IJ = ID+J                                                         ASA29630
  2964. C                                                                       ASA29640
  2965.       DO 3 M=1,IMO                                                      ASA29650
  2966.       MD = (M-1)*N-(M*M-M)/2                                            ASA29660
  2967.       MI = MD+I                                                         ASA29670
  2968.       MJ = MD+J                                                         ASA29680
  2969.     3 C(IJ) = C(IJ)-C(MJ)*C(MI)                                         ASA29690
  2970. C                                                                       ASA29700
  2971.     4 C(IJ) = C(IJ)/C(II)                                               ASA29710
  2972. C                                                                       ASA29720
  2973.     5 CONTINUE                                                          ASA29730
  2974. C                                                                       ASA29740
  2975.     6 S(1) = S(1)/C(1)                                                  ASA29750
  2976. C                                                                       ASA29760
  2977.       DO 8 I=2,N                                                        ASA29770
  2978.       IMO = I-1                                                         ASA29780
  2979. C                                                                       ASA29790
  2980.       DO 7 L=1,IMO                                                      ASA29800
  2981.       LI = (L-1)*N-(L*L-L)/2+I                                          ASA29810
  2982.     7 S(I) = S(I)-C(LI)*S(L)                                            ASA29820
  2983. C                                                                       ASA29830
  2984.       II = (I-1)*N-(I*I-I)/2+I                                          ASA29840
  2985.     8 S(I) = S(I)/C(II)                                                 ASA29850
  2986. C                                                                       ASA29860
  2987.       NN = ((N+1)*N)/2                                                  ASA29870
  2988.       S(N) = S(N)/C(NN)                                                 ASA29880
  2989.       NMO = N-1                                                         ASA29890
  2990. C                                                                       ASA29900
  2991.       DO 10 I=1,NMO                                                     ASA29910
  2992.       K = N-I                                                           ASA29920
  2993.       KPO = K+1                                                         ASA29930
  2994.       KD = (K-1)*N-(K*K-K)/2                                            ASA29940
  2995. C                                                                       ASA29950
  2996.       DO 9 L=KPO,N                                                      ASA29960
  2997.       KL = KD+L                                                         ASA29970
  2998.     9 S(K) = S(K)-C(KL)*S(L)                                            ASA29980
  2999. C                                                                       ASA29990
  3000.       KK = KD+K                                                         ASA30000
  3001.    10 S(K) = S(K)/C(KK)                                                 ASA30010
  3002. C                                                                       ASA30020
  3003.       IF (IWR.LE.0) GO TO 13                                            ASA30030
  3004.       CNOR = .0                                                         ASA30040
  3005. C                                                                       ASA30050
  3006.       DO 11 I=1,N                                                       ASA30060
  3007.       SA = CABS(S(I))                                                   ASA30070
  3008.    11 IF (SA.GT.CNOR) CNOR=SA                                           ASA30080
  3009. C                                                                       ASA30090
  3010.       IF (CNOR.LE.0.) CNOR=1.                                           ASA30100
  3011. C                                                                       ASA30110
  3012.       DO 12 I=1,N                                                       ASA30120
  3013.       SS = S(I)                                                         ASA30130
  3014.       SA = CABS(SS)                                                     ASA30140
  3015.       SNOR = SA/CNOR                                                    ASA30150
  3016.       PH = .0                                                           ASA30160
  3017.       IF (SA.GT.0.) PH = 57.29578*ATAN2(AIMAG(SS),REAL(SS))             ASA30170
  3018.    12 WRITE (6,14) I,SNOR,SA,PH,SS                                      ASA30180
  3019. C                                                                       ASA30190
  3020.       WRITE (6,15)                                                      ASA30200
  3021.    13 RETURN                                                            ASA30210
  3022. C                                                                       ASA30220
  3023.    14 FORMAT (1X,1I5,1F10.3,1F15.7,1F10.0,2F15.6)                       ASA30230
  3024.    15 FORMAT (1H0)                                                      ASA30240
  3025.       END                                                               ASA30250
  3026.