[2759] | 1 | |
---|
| 2 | SUBROUTINE SINT(XF, & |
---|
| 3 | ims, ime, jms, jme, icmask , & |
---|
| 4 | its, ite, jts, jte, nf, xstag, ystag ) |
---|
| 5 | IMPLICIT NONE |
---|
| 6 | INTEGER ims, ime, jms, jme, & |
---|
| 7 | its, ite, jts, jte |
---|
| 8 | |
---|
| 9 | LOGICAL icmask( ims:ime, jms:jme ) |
---|
| 10 | LOGICAL xstag, ystag |
---|
| 11 | |
---|
| 12 | INTEGER nf, ior |
---|
| 13 | REAL one12, one24, ep |
---|
| 14 | PARAMETER(one12=1./12.,one24=1./24.) |
---|
| 15 | PARAMETER(ior=2) |
---|
| 16 | ! |
---|
| 17 | REAL XF(ims:ime,jms:jme,NF) |
---|
| 18 | ! |
---|
| 19 | REAL Y(ims:ime,jms:jme,-IOR:IOR), & |
---|
| 20 | Z(ims:ime,jms:jme,-IOR:IOR), & |
---|
| 21 | F(ims:ime,jms:jme,0:1) |
---|
| 22 | ! |
---|
| 23 | INTEGER I,J,II,JJ,IIM |
---|
| 24 | INTEGER N2STAR, N2END, N1STAR, N1END |
---|
| 25 | ! |
---|
| 26 | DATA EP/ 1.E-10/ |
---|
| 27 | |
---|
| 28 | REAL W(ims:ime,jms:jme),OV(ims:ime,jms:jme),UN(ims:ime,jms:jme) |
---|
| 29 | REAL MXM(ims:ime,jms:jme),MN(ims:ime,jms:jme) |
---|
| 30 | REAL FL(ims:ime,jms:jme,0:1) |
---|
| 31 | REAL XIG(NF*NF), XJG(NF*NF) ! NF is parent to child grid refinement ratio |
---|
| 32 | INTEGER IFRST |
---|
| 33 | integer rr |
---|
| 34 | COMMON /DEPAR2/ IFRST |
---|
| 35 | DATA IFRST /1/ |
---|
| 36 | |
---|
| 37 | REAL rioff, rjoff |
---|
| 38 | ! |
---|
| 39 | REAL donor, y1, y2, a |
---|
| 40 | DONOR(Y1,Y2,A)=(Y1*AMAX1(0.,SIGN(1.,A))-Y2*AMIN1(0.,SIGN(1.,A)))*A |
---|
| 41 | REAL tr4, ym1, y0, yp1, yp2 |
---|
| 42 | TR4(YM1,Y0,YP1,YP2,A)=A*ONE12*(7.*(YP1+Y0)-(YP2+YM1)) & |
---|
| 43 | -A*A*ONE24*(15.*(YP1-Y0)-(YP2-YM1))-A*A*A*ONE12*((YP1+Y0) & |
---|
| 44 | -(YP2+YM1))+A*A*A*A*ONE24*(3.*(YP1-Y0)-(YP2-YM1)) |
---|
| 45 | REAL pp, pn, x |
---|
| 46 | PP(X)=AMAX1(0.,X) |
---|
| 47 | PN(X)=AMIN1(0.,X) |
---|
| 48 | |
---|
| 49 | rr = nint(sqrt(float(nf))) |
---|
| 50 | !! write(6,*) ' nf, rr are ',nf,rr |
---|
| 51 | |
---|
| 52 | rioff = 0 |
---|
| 53 | rjoff = 0 |
---|
| 54 | if(xstag .and. (mod(rr,2) .eq. 0)) rioff = 1. |
---|
| 55 | if(ystag .and. (mod(rr,2) .eq. 0)) rjoff = 1. |
---|
| 56 | |
---|
| 57 | DO I=1,rr |
---|
| 58 | DO J=1,rr |
---|
| 59 | XIG(J+(I-1)*rr)=(float(rr)-1.-rioff)/float(2*rr)-FLOAT(J-1)*1./float(rr) |
---|
| 60 | XJG(J+(I-1)*rr)=(float(rr)-1.-rjoff)/float(2*rr)-FLOAT(I-1)*1./float(rr) |
---|
| 61 | ENDDO |
---|
| 62 | ENDDO |
---|
| 63 | IFRST = 0 |
---|
| 64 | |
---|
| 65 | N2STAR = jts |
---|
| 66 | N2END = jte |
---|
| 67 | N1STAR = its |
---|
| 68 | N1END = ite |
---|
| 69 | |
---|
| 70 | DO 2000 IIM=1,NF |
---|
| 71 | ! |
---|
| 72 | ! HERE STARTS RESIDUAL ADVECTION |
---|
| 73 | ! |
---|
| 74 | DO 9000 JJ=N2STAR,N2END |
---|
| 75 | DO 50 J=-IOR,IOR |
---|
| 76 | |
---|
| 77 | DO 51 I=-IOR,IOR |
---|
| 78 | DO 511 II=N1STAR,N1END |
---|
| 79 | IF ( icmask(II,JJ) ) Y(II,JJ,I)=XF(II+I,JJ+J,IIM) |
---|
| 80 | 511 CONTINUE |
---|
| 81 | 51 CONTINUE |
---|
| 82 | |
---|
| 83 | DO 811 II=N1STAR,N1END |
---|
| 84 | IF ( icmask(II,JJ) ) THEN |
---|
| 85 | FL(II,JJ,0)=DONOR(Y(II,JJ,-1),Y(II,JJ,0),XIG(IIM)) |
---|
| 86 | FL(II,JJ,1)=DONOR(Y(II,JJ,0),Y(II,JJ,1),XIG(IIM)) |
---|
| 87 | ENDIF |
---|
| 88 | 811 CONTINUE |
---|
| 89 | DO 812 II=N1STAR,N1END |
---|
| 90 | IF ( icmask(II,JJ) ) W(II,JJ)=Y(II,JJ,0)-(FL(II,JJ,1)-FL(II,JJ,0)) |
---|
| 91 | 812 CONTINUE |
---|
| 92 | DO 813 II=N1STAR,N1END |
---|
| 93 | IF ( icmask(II,JJ) ) THEN |
---|
| 94 | MXM(II,JJ)= & |
---|
| 95 | AMAX1(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1), & |
---|
| 96 | W(II,JJ)) |
---|
| 97 | MN(II,JJ)=AMIN1(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1),W(II,JJ)) |
---|
| 98 | ENDIF |
---|
| 99 | 813 CONTINUE |
---|
| 100 | DO 312 II=N1STAR,N1END |
---|
| 101 | IF ( icmask(II,JJ) ) THEN |
---|
| 102 | F(II,JJ,0)= & |
---|
| 103 | TR4(Y(II,JJ,-2),Y(II,JJ,-1),Y(II,JJ,0), & |
---|
| 104 | Y(II,JJ,1),XIG(IIM)) |
---|
| 105 | F(II,JJ,1)= & |
---|
| 106 | TR4(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1),Y(II,JJ,2),& |
---|
| 107 | XIG(IIM)) |
---|
| 108 | ENDIF |
---|
| 109 | 312 CONTINUE |
---|
| 110 | DO 822 II=N1STAR,N1END |
---|
| 111 | IF ( icmask(II,JJ) ) THEN |
---|
| 112 | F(II,JJ,0)=F(II,JJ,0)-FL(II,JJ,0) |
---|
| 113 | F(II,JJ,1)=F(II,JJ,1)-FL(II,JJ,1) |
---|
| 114 | ENDIF |
---|
| 115 | 822 CONTINUE |
---|
| 116 | DO 823 II=N1STAR,N1END |
---|
| 117 | IF ( icmask(II,JJ) ) THEN |
---|
| 118 | OV(II,JJ)=(MXM(II,JJ)-W(II,JJ))/(-PN(F(II,JJ,1))+ & |
---|
| 119 | PP(F(II,JJ,0))+EP) |
---|
| 120 | UN(II,JJ)=(W(II,JJ)-MN(II,JJ))/(PP(F(II,JJ,1))- & |
---|
| 121 | PN(F(II,JJ,0))+EP) |
---|
| 122 | ENDIF |
---|
| 123 | 823 CONTINUE |
---|
| 124 | DO 824 II=N1STAR,N1END |
---|
| 125 | IF ( icmask(II,JJ) ) THEN |
---|
| 126 | F(II,JJ,0)=PP(F(II,JJ,0))*AMIN1(1.,OV(II,JJ))+ & |
---|
| 127 | PN(F(II,JJ,0))*AMIN1(1.,UN(II,JJ)) |
---|
| 128 | F(II,JJ,1)=PP(F(II,JJ,1))*AMIN1(1.,UN(II,JJ))+ & |
---|
| 129 | PN(F(II,JJ,1))*AMIN1(1.,OV(II,JJ)) |
---|
| 130 | ENDIF |
---|
| 131 | 824 CONTINUE |
---|
| 132 | DO 825 II=N1STAR,N1END |
---|
| 133 | IF ( icmask(II,JJ) ) THEN |
---|
| 134 | Y(II,JJ,0)=W(II,JJ)-(F(II,JJ,1)-F(II,JJ,0)) |
---|
| 135 | ENDIF |
---|
| 136 | 825 CONTINUE |
---|
| 137 | DO 361 II=N1STAR,N1END |
---|
| 138 | IF ( icmask(II,JJ) ) Z(II,JJ,J)=Y(II,JJ,0) |
---|
| 139 | 361 CONTINUE |
---|
| 140 | ! |
---|
| 141 | ! END IF FIRST J LOOP |
---|
| 142 | ! |
---|
| 143 | 8000 CONTINUE |
---|
| 144 | 50 CONTINUE |
---|
| 145 | |
---|
| 146 | DO 911 II=N1STAR,N1END |
---|
| 147 | IF ( icmask(II,JJ) ) THEN |
---|
| 148 | FL(II,JJ,0)=DONOR(Z(II,JJ,-1),Z(II,JJ,0),XJG(IIM)) |
---|
| 149 | FL(II,JJ,1)=DONOR(Z(II,JJ,0),Z(II,JJ,1),XJG(IIM)) |
---|
| 150 | ENDIF |
---|
| 151 | 911 CONTINUE |
---|
| 152 | DO 912 II=N1STAR,N1END |
---|
| 153 | IF ( icmask(II,JJ) ) W(II,JJ)=Z(II,JJ,0)-(FL(II,JJ,1)-FL(II,JJ,0)) |
---|
| 154 | 912 CONTINUE |
---|
| 155 | DO 913 II=N1STAR,N1END |
---|
| 156 | IF ( icmask(II,JJ) ) THEN |
---|
| 157 | MXM(II,JJ)=AMAX1(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),W(II,JJ)) |
---|
| 158 | MN(II,JJ)=AMIN1(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),W(II,JJ)) |
---|
| 159 | ENDIF |
---|
| 160 | 913 CONTINUE |
---|
| 161 | DO 412 II=N1STAR,N1END |
---|
| 162 | IF ( icmask(II,JJ) ) THEN |
---|
| 163 | F(II,JJ,0)= & |
---|
| 164 | TR4(Z(II,JJ,-2),Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1)& |
---|
| 165 | ,XJG(IIM)) |
---|
| 166 | F(II,JJ,1)= & |
---|
| 167 | TR4(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),Z(II,JJ,2), & |
---|
| 168 | XJG(IIM)) |
---|
| 169 | ENDIF |
---|
| 170 | 412 CONTINUE |
---|
| 171 | DO 922 II=N1STAR,N1END |
---|
| 172 | IF ( icmask(II,JJ) ) THEN |
---|
| 173 | F(II,JJ,0)=F(II,JJ,0)-FL(II,JJ,0) |
---|
| 174 | F(II,JJ,1)=F(II,JJ,1)-FL(II,JJ,1) |
---|
| 175 | ENDIF |
---|
| 176 | 922 CONTINUE |
---|
| 177 | DO 923 II=N1STAR,N1END |
---|
| 178 | IF ( icmask(II,JJ) ) THEN |
---|
| 179 | OV(II,JJ)=(MXM(II,JJ)-W(II,JJ))/(-PN(F(II,JJ,1))+ & |
---|
| 180 | PP(F(II,JJ,0))+EP) |
---|
| 181 | UN(II,JJ)=(W(II,JJ)-MN(II,JJ))/(PP(F(II,JJ,1))-PN(F(II,JJ,0))+ & |
---|
| 182 | EP) |
---|
| 183 | ENDIF |
---|
| 184 | 923 CONTINUE |
---|
| 185 | DO 924 II=N1STAR,N1END |
---|
| 186 | IF ( icmask(II,JJ) ) THEN |
---|
| 187 | F(II,JJ,0)=PP(F(II,JJ,0))*AMIN1(1.,OV(II,JJ))+PN(F(II,JJ,0)) & |
---|
| 188 | *AMIN1(1.,UN(II,JJ)) |
---|
| 189 | F(II,JJ,1)=PP(F(II,JJ,1))*AMIN1(1.,UN(II,JJ))+PN(F(II,JJ,1)) & |
---|
| 190 | *AMIN1(1.,OV(II,JJ)) |
---|
| 191 | ENDIF |
---|
| 192 | 924 CONTINUE |
---|
| 193 | 9000 CONTINUE |
---|
| 194 | DO 925 JJ=N2STAR,N2END |
---|
| 195 | DO 925 II=N1STAR,N1END |
---|
| 196 | IF ( icmask(II,JJ) ) XF(II,JJ,IIM)=W(II,JJ)-(F(II,JJ,1)-F(II,JJ,0)) |
---|
| 197 | 925 CONTINUE |
---|
| 198 | |
---|
| 199 | ! |
---|
| 200 | 2000 CONTINUE |
---|
| 201 | RETURN |
---|
| 202 | END |
---|
| 203 | |
---|
| 204 | ! Version of sint that replaces mask with detailed ranges for avoiding boundaries |
---|
| 205 | ! may help performance by getting the conditionals out of innner loops |
---|
| 206 | |
---|
| 207 | SUBROUTINE SINTB(XF1, XF , & |
---|
| 208 | ims, ime, jms, jme, icmask , & |
---|
| 209 | its, ite, jts, jte, nf, xstag, ystag ) |
---|
| 210 | IMPLICIT NONE |
---|
| 211 | INTEGER ims, ime, jms, jme, & |
---|
| 212 | its, ite, jts, jte |
---|
| 213 | |
---|
| 214 | LOGICAL icmask( ims:ime, jms:jme ) |
---|
| 215 | LOGICAL xstag, ystag |
---|
| 216 | |
---|
| 217 | INTEGER nf, ior |
---|
| 218 | REAL one12, one24, ep |
---|
| 219 | PARAMETER(one12=1./12.,one24=1./24.) |
---|
| 220 | PARAMETER(ior=2) |
---|
| 221 | ! |
---|
| 222 | REAL XF(ims:ime,jms:jme,NF) |
---|
| 223 | REAL XF1(ims:ime,jms:jme,NF) |
---|
| 224 | ! |
---|
| 225 | REAL Y(ims:ime,jms:jme,-IOR:IOR), & |
---|
| 226 | Z(ims:ime,jms:jme,-IOR:IOR), & |
---|
| 227 | F(ims:ime,jms:jme,0:1) |
---|
| 228 | ! |
---|
| 229 | INTEGER I,J,II,JJ,IIM |
---|
| 230 | INTEGER N2STAR, N2END, N1STAR, N1END |
---|
| 231 | ! |
---|
| 232 | DATA EP/ 1.E-10/ |
---|
| 233 | ! |
---|
| 234 | ! PARAMETER(NONOS=1) |
---|
| 235 | ! PARAMETER(N1OS=N1*NONOS+1-NONOS,N2OS=N2*NONOS+1-NONOS) |
---|
| 236 | ! |
---|
| 237 | REAL W(ims:ime,jms:jme),OV(ims:ime,jms:jme),UN(ims:ime,jms:jme) |
---|
| 238 | REAL MXM(ims:ime,jms:jme),MN(ims:ime,jms:jme) |
---|
| 239 | REAL FL(ims:ime,jms:jme,0:1) |
---|
| 240 | REAL XIG(NF*NF), XJG(NF*NF) ! NF is the parent to child grid refinement ratio |
---|
| 241 | INTEGER IFRST |
---|
| 242 | integer rr |
---|
| 243 | COMMON /DEPAR2B/ IFRST |
---|
| 244 | DATA IFRST /1/ |
---|
| 245 | |
---|
| 246 | REAL rioff, rjoff |
---|
| 247 | ! |
---|
| 248 | REAL donor, y1, y2, a |
---|
| 249 | DONOR(Y1,Y2,A)=(Y1*AMAX1(0.,SIGN(1.,A))-Y2*AMIN1(0.,SIGN(1.,A)))*A |
---|
| 250 | REAL tr4, ym1, y0, yp1, yp2 |
---|
| 251 | TR4(YM1,Y0,YP1,YP2,A)=A*ONE12*(7.*(YP1+Y0)-(YP2+YM1)) & |
---|
| 252 | -A*A*ONE24*(15.*(YP1-Y0)-(YP2-YM1))-A*A*A*ONE12*((YP1+Y0) & |
---|
| 253 | -(YP2+YM1))+A*A*A*A*ONE24*(3.*(YP1-Y0)-(YP2-YM1)) |
---|
| 254 | REAL pp, pn, x |
---|
| 255 | PP(X)=AMAX1(0.,X) |
---|
| 256 | PN(X)=AMIN1(0.,X) |
---|
| 257 | |
---|
| 258 | rr = nint(sqrt(float(nf))) |
---|
| 259 | |
---|
| 260 | rioff = 0 |
---|
| 261 | rjoff = 0 |
---|
| 262 | if(xstag .and. (mod(rr,2) .eq. 0)) rioff = 1. |
---|
| 263 | if(ystag .and. (mod(rr,2) .eq. 0)) rjoff = 1. |
---|
| 264 | |
---|
| 265 | DO I=1,rr |
---|
| 266 | DO J=1,rr |
---|
| 267 | XIG(J+(I-1)*rr)=(float(rr)-1.-rioff)/float(2*rr)-FLOAT(J-1)*1./float(rr) |
---|
| 268 | XJG(J+(I-1)*rr)=(float(rr)-1.-rjoff)/float(2*rr)-FLOAT(I-1)*1./float(rr) |
---|
| 269 | ENDDO |
---|
| 270 | ENDDO |
---|
| 271 | IFRST = 0 |
---|
| 272 | |
---|
| 273 | N2STAR = jts |
---|
| 274 | N2END = jte |
---|
| 275 | N1STAR = its |
---|
| 276 | N1END = ite |
---|
| 277 | |
---|
| 278 | DO 2000 IIM=1,NF |
---|
| 279 | ! |
---|
| 280 | ! HERE STARTS RESIDUAL ADVECTION |
---|
| 281 | ! |
---|
| 282 | DO 9000 JJ=N2STAR,N2END |
---|
| 283 | !cdir unroll=5 |
---|
| 284 | DO 50 J=-IOR,IOR |
---|
| 285 | |
---|
| 286 | !cdir unroll=5 |
---|
| 287 | DO 51 I=-IOR,IOR |
---|
| 288 | DO 511 II=N1STAR,N1END |
---|
| 289 | Y(II,JJ,I)=XF1(II+I,JJ+J,IIM) |
---|
| 290 | 511 CONTINUE |
---|
| 291 | 51 CONTINUE |
---|
| 292 | |
---|
| 293 | DO 811 II=N1STAR,N1END |
---|
| 294 | FL(II,JJ,0)=DONOR(Y(II,JJ,-1),Y(II,JJ,0),XIG(IIM)) |
---|
| 295 | FL(II,JJ,1)=DONOR(Y(II,JJ,0),Y(II,JJ,1),XIG(IIM)) |
---|
| 296 | 811 CONTINUE |
---|
| 297 | DO 812 II=N1STAR,N1END |
---|
| 298 | W(II,JJ)=Y(II,JJ,0)-(FL(II,JJ,1)-FL(II,JJ,0)) |
---|
| 299 | 812 CONTINUE |
---|
| 300 | DO 813 II=N1STAR,N1END |
---|
| 301 | MXM(II,JJ)= & |
---|
| 302 | AMAX1(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1), & |
---|
| 303 | W(II,JJ)) |
---|
| 304 | MN(II,JJ)=AMIN1(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1),W(II,JJ)) |
---|
| 305 | 813 CONTINUE |
---|
| 306 | DO 312 II=N1STAR,N1END |
---|
| 307 | F(II,JJ,0)= & |
---|
| 308 | TR4(Y(II,JJ,-2),Y(II,JJ,-1),Y(II,JJ,0), & |
---|
| 309 | Y(II,JJ,1),XIG(IIM)) |
---|
| 310 | F(II,JJ,1)= & |
---|
| 311 | TR4(Y(II,JJ,-1),Y(II,JJ,0),Y(II,JJ,1),Y(II,JJ,2),& |
---|
| 312 | XIG(IIM)) |
---|
| 313 | 312 CONTINUE |
---|
| 314 | DO 822 II=N1STAR,N1END |
---|
| 315 | F(II,JJ,0)=F(II,JJ,0)-FL(II,JJ,0) |
---|
| 316 | F(II,JJ,1)=F(II,JJ,1)-FL(II,JJ,1) |
---|
| 317 | 822 CONTINUE |
---|
| 318 | DO 823 II=N1STAR,N1END |
---|
| 319 | OV(II,JJ)=(MXM(II,JJ)-W(II,JJ))/(-PN(F(II,JJ,1))+ & |
---|
| 320 | PP(F(II,JJ,0))+EP) |
---|
| 321 | UN(II,JJ)=(W(II,JJ)-MN(II,JJ))/(PP(F(II,JJ,1))- & |
---|
| 322 | PN(F(II,JJ,0))+EP) |
---|
| 323 | 823 CONTINUE |
---|
| 324 | DO 824 II=N1STAR,N1END |
---|
| 325 | F(II,JJ,0)=PP(F(II,JJ,0))*AMIN1(1.,OV(II,JJ))+ & |
---|
| 326 | PN(F(II,JJ,0))*AMIN1(1.,UN(II,JJ)) |
---|
| 327 | F(II,JJ,1)=PP(F(II,JJ,1))*AMIN1(1.,UN(II,JJ))+ & |
---|
| 328 | PN(F(II,JJ,1))*AMIN1(1.,OV(II,JJ)) |
---|
| 329 | 824 CONTINUE |
---|
| 330 | DO 825 II=N1STAR,N1END |
---|
| 331 | Y(II,JJ,0)=W(II,JJ)-(F(II,JJ,1)-F(II,JJ,0)) |
---|
| 332 | 825 CONTINUE |
---|
| 333 | DO 361 II=N1STAR,N1END |
---|
| 334 | Z(II,JJ,J)=Y(II,JJ,0) |
---|
| 335 | 361 CONTINUE |
---|
| 336 | ! |
---|
| 337 | ! END IF FIRST J LOOP |
---|
| 338 | ! |
---|
| 339 | 8000 CONTINUE |
---|
| 340 | 50 CONTINUE |
---|
| 341 | |
---|
| 342 | DO 911 II=N1STAR,N1END |
---|
| 343 | FL(II,JJ,0)=DONOR(Z(II,JJ,-1),Z(II,JJ,0),XJG(IIM)) |
---|
| 344 | FL(II,JJ,1)=DONOR(Z(II,JJ,0),Z(II,JJ,1),XJG(IIM)) |
---|
| 345 | 911 CONTINUE |
---|
| 346 | DO 912 II=N1STAR,N1END |
---|
| 347 | W(II,JJ)=Z(II,JJ,0)-(FL(II,JJ,1)-FL(II,JJ,0)) |
---|
| 348 | 912 CONTINUE |
---|
| 349 | DO 913 II=N1STAR,N1END |
---|
| 350 | MXM(II,JJ)=AMAX1(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),W(II,JJ)) |
---|
| 351 | MN(II,JJ)=AMIN1(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),W(II,JJ)) |
---|
| 352 | 913 CONTINUE |
---|
| 353 | DO 412 II=N1STAR,N1END |
---|
| 354 | F(II,JJ,0)= & |
---|
| 355 | TR4(Z(II,JJ,-2),Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1)& |
---|
| 356 | ,XJG(IIM)) |
---|
| 357 | F(II,JJ,1)= & |
---|
| 358 | TR4(Z(II,JJ,-1),Z(II,JJ,0),Z(II,JJ,1),Z(II,JJ,2), & |
---|
| 359 | XJG(IIM)) |
---|
| 360 | 412 CONTINUE |
---|
| 361 | DO 922 II=N1STAR,N1END |
---|
| 362 | F(II,JJ,0)=F(II,JJ,0)-FL(II,JJ,0) |
---|
| 363 | F(II,JJ,1)=F(II,JJ,1)-FL(II,JJ,1) |
---|
| 364 | 922 CONTINUE |
---|
| 365 | DO 923 II=N1STAR,N1END |
---|
| 366 | OV(II,JJ)=(MXM(II,JJ)-W(II,JJ))/(-PN(F(II,JJ,1))+ & |
---|
| 367 | PP(F(II,JJ,0))+EP) |
---|
| 368 | UN(II,JJ)=(W(II,JJ)-MN(II,JJ))/(PP(F(II,JJ,1))-PN(F(II,JJ,0))+ & |
---|
| 369 | EP) |
---|
| 370 | 923 CONTINUE |
---|
| 371 | DO 924 II=N1STAR,N1END |
---|
| 372 | F(II,JJ,0)=PP(F(II,JJ,0))*AMIN1(1.,OV(II,JJ))+PN(F(II,JJ,0)) & |
---|
| 373 | *AMIN1(1.,UN(II,JJ)) |
---|
| 374 | F(II,JJ,1)=PP(F(II,JJ,1))*AMIN1(1.,UN(II,JJ))+PN(F(II,JJ,1)) & |
---|
| 375 | *AMIN1(1.,OV(II,JJ)) |
---|
| 376 | 924 CONTINUE |
---|
| 377 | 9000 CONTINUE |
---|
| 378 | DO 925 JJ=N2STAR,N2END |
---|
| 379 | DO 925 II=N1STAR,N1END |
---|
| 380 | XF(II,JJ,IIM)=W(II,JJ)-(F(II,JJ,1)-F(II,JJ,0)) |
---|
| 381 | 925 CONTINUE |
---|
| 382 | |
---|
| 383 | ! |
---|
| 384 | 2000 CONTINUE |
---|
| 385 | RETURN |
---|
| 386 | END |
---|
| 387 | |
---|
| 388 | |
---|