PROGRAM FLO C C DW,FS 1st and 2nd dimension switched to allow more processor to work C IL,JL is also switched for 3rd eflux call C C Copied from eflux.ff.256 3-17-94 C For the Loop Based Prefetch C COMMON/ADD/ W(114625),P(28657),X(57313) COMMON/LIM/ IL,JL,DW(66,322,4) COMMON/FLX/ FS(66,322,4) IMARK=IMARK C MARK COMMAND 0 IMARK=IMARK IL= 41 JL = 9 CALL EFLUX(IL+1,JL+1,W(112945),P(28237),X(56473)) IL= 81 JL= 17 CALL EFLUX(IL+1,JL+1,W(107041),P(26761),X(53521)) IL= 33 JL= 161 CALL EFLUX(IL+1,JL+1,W(1),P(1),X(1)) IL= 65 JL= 257 CALL EFLUX(IL+1,JL+1,W(1),P(1),X(1)) C MARK COMMAND 5 STOP END SUBROUTINE EFLUX (I2,J2,W,P,X) COMMON/LIM/ IL,JL,DW(66,322,4) COMMON/FLX/ FS(66,322,4) DIMENSION W(I2,J2,4),P(I2,J2),X(I2,J2,2) IMARK=IMARK C MARK COMMAND 20 DO 10 J=2,JL C MARK COMMAND 3 C MARK COMMAND 21 C MARK COMMAND 20 DO 101 I=1,IL C MARK COMMAND 21 XY = X(I,J,1) -X(I,J-1,1) YY = X(I,J,2) -X(I,J-1,2) PA = P(I+1,J) +P(I,J) QSP = (YY*W(I+1,J,2) -XY*W(I+1,J,3))/W(I+1,J,1) QSM = (YY*W(I,J,2) -XY*W(I,J,3))/W(I,J,1) FS(I,J,1) = QSP*W(I+1,J,1) +QSM*W(I,J,1) FS(I,J,2) = QSP*W(I+1,J,2) +QSM*W(I,J,2) +YY*PA FS(I,J,3) = QSP*W(I+1,J,3) +QSM*W(I,J,3) -XY*PA FS(I,J,4) = QSP*(W(I+1,J,4) +P(I+1,J)) +QSM*(W(I,J,4) +P(I,J)) C C 101 CONTINUE is INSERTED C 101 CONTINUE C C MARK COMMAND 29 10 CONTINUE C MARK COMMAND 29 C MARK COMMAND 4 C MARK COMMAND 20 DO 20 J=2,JL C MARK COMMAND 3 C MARK COMMAND 21 C MARK COMMAND 20 DO 201 I=2,IL C IF (I.GE.5) KIM0=KIM0 C MARK COMMAND 21 DW(I,J,1) = FS(I,J,1) -FS(I-1,J,1) DW(I,J,2) = FS(I,J,2) -FS(I-1,J,2) DW(I,J,3) = FS(I,J,3) -FS(I-1,J,3) DW(I,J,4) = FS(I,J,4) -FS(I-1,J,4) C C 201 CONTINUE is INSERTED C 201 CONTINUE C MARK COMMAND 29 20 CONTINUE C MARK COMMAND 29 C MARK COMMAND 4 C MARK COMMAND 20 DO 25 I=2,IL C MARK COMMAND 3 C MARK COMMAND 21 XX = X(I,1,1) -X(I-1,1,1) YX = X(I,1,2) -X(I-1,1,2) PA = P(I,2) +P(I,1) FS(I,1,1) = 0. FS(I,1,2) = -YX*PA FS(I,1,3) = XX*PA FS(I,1,4) = 0. 25 CONTINUE C MARK COMMAND 29 C MARK COMMAND 4 C MARK COMMAND 20 DO 30 J=2,JL C MARK COMMAND 3 C MARK COMMAND 21 C MARK COMMAND 20 DO 301 I=2,IL C MARK COMMAND 21 XX = X(I,J,1) -X(I-1,J,1) YX = X(I,J,2) -X(I-1,J,2) PA = P(I,J+1) +P(I,J) QSP = (XX*W(I,J+1,3) -YX*W(I,J+1,2))/W(I,J+1,1) QSM = (XX*W(I,J,3) -YX*W(I,J,2))/W(I,J,1) FS(I,J,1) = QSP*W(I,J+1,1) +QSM*W(I,J,1) FS(I,J,2) = QSP*W(I,J+1,2) +QSM*W(I,J,2) -YX*PA FS(I,J,3) = QSP*W(I,J+1,3) +QSM*W(I,J,3) +XX*PA FS(I,J,4) = QSP*(W(I,J+1,4) +P(I,J+1)) +QSM*(W(I,J,4) +P(I,J)) C C 301 CONTINUE is INSERTED C 301 CONTINUE C MARK COMMAND 29 30 CONTINUE C MARK COMMAND 29 C MARK COMMAND 4 C MARK COMMAND 20 DO 40 J=2,JL C MARK COMMAND 3 C MARK COMMAND 21 C MARK COMMAND 20 DO 401 I=2,IL C MARK COMMAND 21 DW(I,J,1) = DW(I,J,1) +FS(I,J,1) -FS(I,J-1,1) DW(I,J,2) = DW(I,J,2) +FS(I,J,2) -FS(I,J-1,2) DW(I,J,3) = DW(I,J,3) +FS(I,J,3) -FS(I,J-1,3) DW(I,J,4) = DW(I,J,4) +FS(I,J,4) -FS(I,J-1,4) C C 401 CONTINUE is INSERTED C 401 CONTINUE C MARK COMMAND 29 40 CONTINUE C MARK COMMAND 29 C MARK COMMAND 4 RETURN END