subroutine losses(rmin, rmax, delr, jx, atten) include 'param.inc' complex*16 WHZERO2(MDN) real R_KM(KDN), tloss(KDN, JDN) common / functions / wuu(jdn, mdn) include 'common.inc' if (delr .eq. 0.) then kx = 1 else KX = (RMAX - RMIN) /DELR + 1 end if IF (KX .GT. KDN) KX = KDN DO 900 K = 1, KX RNG = RMIN + (K - 1) * DELR R_KM (K) = RNG /1000 R ATTEN = R_KM(k) * ATTEN - 9.9429946 IF (RNG * (-8686 * eigeni(MX)) .LT. 15.D4) GO TO 922 MX = MX - 1 C Sum the modes: 922 DO 920 M = 1, MX TEMP RE = EIGEN(M) * RNG TEMPIM = EIGENI(M) * RNG CALL HZERO(TEMPRE,TEMPIM) 920 WHZERO2(M) = CMPLX(HZEROR, HZEROI) L = 0 DO 940 J = 1, JX WFF = 0 TEMP = 0.D0 C Sum over the MX modes: DO 930 M = 1, MX WFF = WFF + WUU(J,M) * WHZERO2(M) 930 CONTINUE IF (ABS(WFF) .EQ. 0.) WFF = 1.D-12 tloss (K,J) = - 20 * LOG10( ABS(WFF)) + R ATTEN 940 CONTINUE WRITE (JOUT, 985) rng, (tloss (K,J), J = 1, JX) 985 FORMAT (F9.0, 2X, 18F6.1) 900 CONTINUE return END