SUBROUTINE VISWS (EF,Z,J1,J2,NP,I1,I2,NT,L,M,B,O,PR,PL) C WATERLEVEL SEQUENCE C L=1 WESTERN VIEW, L=-1 EASTERN VIEW C M=1 SOUTHERN VIEW, M=-1 NORTHERN VIEW C EXTERNAL PR,PL LOGICAL B DIMENSION EF(1),O(3,3) DIMENSION AZ(201),R1(201),R2(201) DIMENSION AW(501),RW(501) DATA MA,MK /501,201/ IX(J,I)=(I-1)*NP+MOD(NP+J-1,NP)+1 N=L*M EL=FLOAT(L) EM=FLOAT(M) DP=6.28318/FLOAT(NP) DT=3.14149/FLOAT(NT) HT=0.5*DT I0=((I1+I2)+M*(I1-I2))/2+M J0=((J1+J2)+L*(J1-J2))/2 K0=((MK+1)*(1-N))/2 10 K=K0 I=MAX0(MIN0(I0,I2+1),I1-1) J=J0 T=HT+DT*FLOAT(I-1) P=DP*FLOAT(J-1) 20 IF((I.GT.I2).OR.(I.LT.I1)) GOTO 22 K=MAX0(MIN0(K+N,MK),1) CALL PR (R1(K),AZ(K),EF(IX(J,I)),T,P,O) CALL PR (R2(K),AZ(K),Z,T,P,O) 22 I=I-M T=T-EM*DT IF ((I.GT.I2).OR.(I.LT.I1)) GOTO 30 K=MAX0(MIN0(K+N,MK),1) CALL PR (R1(K),AZ(K),EF(IX(J,I)),T,P,O) CALL PR (R2(K),AZ(K),Z,T,P,O) J=J+L P=P+EL*DP IF ((J.LE.J2).AND.(J.GE.J1)) GOTO 20 30 IF (N.GT.0) GOTO 32 M1=MK-K+1 DO 31 MM=1,M1 AZ(MM)=AZ(K+MM-1) R1(MM)=R1(K+MM-1) 31 R2(MM)=R2(K+MM-1) K=M1 32 IF (B) GOTO 36 DO 35 MM=1,K 35 IF (AZ(MM).LT.0.0) AZ(MM)=AZ(MM)+1.0 36 IF (AZ(1).LE.AZ(K)) GOTO 38 DO 37 MM=1,K TE=AZ(MM) AZ(MM)=AZ(K-MM+1) AZ(K-MM+1)=TE TE=R1(MM) R1(MM)=R1(K-MM+1) R1(K-MM+1)=TE TE=R2(MM) R2(MM)=R2(K-MM+1) 37 R2(K-MM+1)=TE 38 K1=1 IF (K.LE.2) GOTO 40 DO 39 MM=3,K K1=MM-2 39 IF ((AZ(MM-2).LE.AZ(MM-1)).AND.(AZ(MM-1).LE.AZ(MM))) GOTO 40 K1=K-1 40 K3=K1+2 K2=K1 IF (K3.LE.2) GOTO 42 IF (K3.GT.K) GOTO 42 IF (K.LE.2) GOTO 42 DO 41 MM=K3,K K2=MM-1 41 IF(AZ(MM-1).GT.AZ(MM)) GOTO 42 K2=K 42 IF (K2.LE.1) GOTO 50 IF (K2-K1+1 .LE.1) GOTO 50 KK=K2-K1+1 CALL VISRB (AW,RW,NW,MA,AZ(K1),R1(K1),KK,AZ(K1),R2(K1),KK,-1.0) CALL VISHO (AW,RW,NW,1,PL) CALL VISHO (AZ(K1),R1(K1),KK,-1,PL) 50 I0=I0+M IF ((I0.GE.I1-1) .AND. (I0.LE.I2+1)) GOTO 10 J0=J0+L IF ((J0.GE.J1).AND.(J0.LE.J2)) GOTO 10 RETURN END