CTITLEMLEAN -- MAJOR RC EDITOR 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR D. D. THOMPSON 00000020 CA DESIGNER D. D. THOMPSON 00000030 CA LANGUAGE FORTRAN 77 00000040 CA SYSTEM IBM & CRAY 00000041 CA WRITTEN 1972 00000050 C REVISED MO-DA-YR 00000060 C REVISED 05-20-85 TWH. ADAPTED TO IBM & CRAY. 00000061 C 00000070 CA 00000080 CA 00000090 CA CALL MLEAN (DZ, K2) 00000100 CA IN/OUT DZ = REFLECTION COEFFICIENT GRADIENT R4 00000110 CA VECTOR 00000120 CA INPUT K2 = LENGTH OF DZ I4 00000130 CA 00000140 CA 00000150 CA THIS ROUTINE IS USED TO LEAN OUT ALL BUT PRINCIPAL 00000160 CA EVENTS FROM RC GRADIENT VECTOR. 00000170 CA 00000180 CA 00000190 C 00000200 C SUBROUTINES CALLED: NONE 00000210 C 00000220 C EJECT 00000230 C 00000240 SUBROUTINE MLEAN (DZ, K2) 00000250 CAEND 00000260 C 00000270 DIMENSION DZ(1) 00000280 II=1 00000290 T=0. 00000300 S=0. 00000310 I=1 00000320 QQ=1. 00000330 IF(DZ(I).GT.DZ(I+1)) QQ=-1. 00000340 Q=1. 00000350 IF(DZ(I).LT.0.) Q=-1. 00000360 C 00000370 10 IF(Q*DZ(I).LE.T) GO TO 20 00000380 T=Q*DZ(I) 00000390 II=I 00000400 C 00000410 20 S=S+DZ(I) 00000420 DZ(I)=0. 00000430 I=I+1 00000440 IF(I.GT.K2) GO TO 30 00000450 IF(Q*DZ(I).LT.0.) GO TO 30 00000460 IF(QQ*(DZ(I)-DZ(I-1)).GE.0.) GO TO 10 00000470 QQ=-QQ 00000480 IF(Q*QQ.LE.0.) GO TO 10 00000490 GO TO 40 00000500 C 00000510 30 Q=-Q 00000520 C 00000530 40 DZ(II)=S 00000540 IF(I.GT.K2) RETURN 00000550 S=0. 00000560 T=0. 00000570 GO TO 10 00000580 END 00000590