- Timestamp:
- 2019-11-22T15:29:17+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Property svn:mergeinfo deleted
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/NST/agrif_oce_interp.F90
r10068 r11949 107 107 ! 108 108 IF( .NOT.ln_dynspg_ts ) THEN ! Store transport 109 u a_b(ibdy1:ibdy2,:) = 0._wp109 uu_b(ibdy1:ibdy2,:,Krhs_a) = 0._wp 110 110 DO jk = 1, jpkm1 111 111 DO jj = 1, jpj 112 ua_b(ibdy1:ibdy2,jj) = ua_b(ibdy1:ibdy2,jj) & 113 & + e3u_a(ibdy1:ibdy2,jj,jk) * ua(ibdy1:ibdy2,jj,jk) * umask(ibdy1:ibdy2,jj,jk) 112 uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj, Krhs_a) & 113 & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 114 & * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 114 115 END DO 115 116 END DO 116 117 DO jj = 1, jpj 117 u a_b(ibdy1:ibdy2,jj) = ua_b(ibdy1:ibdy2,jj) * r1_hu_a(ibdy1:ibdy2,jj)118 uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj,Krhs_a) * r1_hu(ibdy1:ibdy2,jj,Krhs_a) 118 119 END DO 119 120 ENDIF … … 122 123 DO jk=1,jpkm1 ! Smooth 123 124 DO jj=j1,j2 124 ua(ibdy2,jj,jk) = 0.25_wp*(ua(ibdy2-1,jj,jk)+2._wp*ua(ibdy2,jj,jk)+ua(ibdy2+1,jj,jk)) 125 uu(ibdy2,jj,jk,Krhs_a) = 0.25_wp*( uu(ibdy2-1,jj,jk,Krhs_a)+2._wp*uu(ibdy2,jj,jk,Krhs_a) & 126 & + uu(ibdy2+1,jj,jk,Krhs_a) ) 125 127 END DO 126 128 END DO … … 130 132 DO jk = 1, jpkm1 131 133 DO jj = 1, jpj 132 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) &133 & + e3u_a(ibdy1:ibdy2,jj,jk) * ua(ibdy1:ibdy2,jj,jk)*umask(ibdy1:ibdy2,jj,jk)134 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 135 & * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 134 136 END DO 135 137 END DO 136 138 DO jj=1,jpj 137 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) * r1_hu _a(ibdy1:ibdy2,jj)139 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) * r1_hu(ibdy1:ibdy2,jj,Krhs_a) 138 140 END DO 139 141 140 142 DO jk = 1, jpkm1 141 143 DO jj = 1, jpj 142 ua(ibdy1:ibdy2,jj,jk) = ( ua(ibdy1:ibdy2,jj,jk) & 143 & + ua_b(ibdy1:ibdy2,jj)-zub(ibdy1:ibdy2,jj)) * umask(ibdy1:ibdy2,jj,jk) 144 uu(ibdy1:ibdy2,jj,jk,Krhs_a) = ( uu(ibdy1:ibdy2,jj,jk,Krhs_a) & 145 & + uu_b(ibdy1:ibdy2,jj, Krhs_a) & 146 & - zub(ibdy1:ibdy2,jj) ) & 147 & * umask(ibdy1:ibdy2,jj,jk) 144 148 END DO 145 149 END DO … … 149 153 DO jk = 1, jpkm1 150 154 DO jj = 1, jpj 151 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) &152 & + e3v_a(ibdy1:ibdy2,jj,jk) * va(ibdy1:ibdy2,jj,jk) * vmask(ibdy1:ibdy2,jj,jk)155 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) + e3v(ibdy1:ibdy2,jj,jk,Krhs_a) & 156 & * vv(ibdy1:ibdy2,jj,jk,Krhs_a) * vmask(ibdy1:ibdy2,jj,jk) 153 157 END DO 154 158 END DO 155 159 DO jj = 1, jpj 156 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) * r1_hv _a(ibdy1:ibdy2,jj)160 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) * r1_hv(ibdy1:ibdy2,jj,Krhs_a) 157 161 END DO 158 162 DO jk = 1, jpkm1 159 163 DO jj = 1, jpj 160 va(ibdy1:ibdy2,jj,jk) = ( va(ibdy1:ibdy2,jj,jk) & 161 & + va_b(ibdy1:ibdy2,jj)-zvb(ibdy1:ibdy2,jj))*vmask(ibdy1:ibdy2,jj,jk) 164 vv(ibdy1:ibdy2,jj,jk,Krhs_a) = ( vv(ibdy1:ibdy2,jj,jk,Krhs_a) & 165 & + vv_b(ibdy1:ibdy2,jj, Krhs_a) & 166 & - zvb(ibdy1:ibdy2,jj) ) & 167 & * vmask(ibdy1:ibdy2,jj,jk) 162 168 END DO 163 169 END DO … … 166 172 DO jk = 1, jpkm1 ! Mask domain edges 167 173 DO jj = 1, jpj 168 u a(1,jj,jk) = 0._wp169 v a(1,jj,jk) = 0._wp174 uu(1,jj,jk,Krhs_a) = 0._wp 175 vv(1,jj,jk,Krhs_a) = 0._wp 170 176 END DO 171 177 END DO … … 178 184 ! 179 185 IF( .NOT.ln_dynspg_ts ) THEN ! Store transport 180 u a_b(ibdy1:ibdy2,:) = 0._wp186 uu_b(ibdy1:ibdy2,:,Krhs_a) = 0._wp 181 187 DO jk = 1, jpkm1 182 188 DO jj = 1, jpj 183 ua_b(ibdy1:ibdy2,jj) = ua_b(ibdy1:ibdy2,jj) & 184 & + e3u_a(ibdy1:ibdy2,jj,jk) * ua(ibdy1:ibdy2,jj,jk) * umask(ibdy1:ibdy2,jj,jk) 189 uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj, Krhs_a) & 190 & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 191 & * uu(ibdy1:ibdy2,jj,jk,Krhs_a) & 192 & * umask(ibdy1:ibdy2,jj,jk) 185 193 END DO 186 194 END DO 187 195 DO jj = 1, jpj 188 u a_b(ibdy1:ibdy2,jj) = ua_b(ibdy1:ibdy2,jj) * r1_hu_a(ibdy1:ibdy2,jj)196 uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj,Krhs_a) * r1_hu(ibdy1:ibdy2,jj,Krhs_a) 189 197 END DO 190 198 ENDIF … … 193 201 DO jk=1,jpkm1 ! Smooth 194 202 DO jj=j1,j2 195 ua(ibdy1,jj,jk) = 0.25_wp*(ua(ibdy1-1,jj,jk)+2._wp*ua(ibdy1,jj,jk)+ua(ibdy1+1,jj,jk)) 203 uu(ibdy1,jj,jk,Krhs_a) = 0.25_wp*( uu(ibdy1-1,jj,jk,Krhs_a) & 204 & + 2._wp*uu(ibdy1 ,jj,jk,Krhs_a) & 205 & + uu(ibdy1+1,jj,jk,Krhs_a) ) 196 206 END DO 197 207 END DO … … 201 211 DO jk = 1, jpkm1 202 212 DO jj = 1, jpj 203 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) & 204 & + e3u_a(ibdy1:ibdy2,jj,jk) * ua(ibdy1:ibdy2,jj,jk) * umask(ibdy1:ibdy2,jj,jk) 213 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) & 214 & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 215 & * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 205 216 END DO 206 217 END DO 207 218 DO jj=1,jpj 208 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) * r1_hu _a(ibdy1:ibdy2,jj)219 zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) * r1_hu(ibdy1:ibdy2,jj,Krhs_a) 209 220 END DO 210 221 211 222 DO jk = 1, jpkm1 212 223 DO jj = 1, jpj 213 ua(ibdy1:ibdy2,jj,jk) = ( ua(ibdy1:ibdy2,jj,jk) & 214 & + ua_b(ibdy1:ibdy2,jj)-zub(ibdy1:ibdy2,jj))*umask(ibdy1:ibdy2,jj,jk) 224 uu(ibdy1:ibdy2,jj,jk,Krhs_a) = ( uu(ibdy1:ibdy2,jj,jk,Krhs_a) & 225 & + uu_b(ibdy1:ibdy2,jj, Krhs_a) & 226 & - zub(ibdy1:ibdy2,jj) & 227 & ) * umask(ibdy1:ibdy2,jj,jk) 215 228 END DO 216 229 END DO … … 222 235 DO jk = 1, jpkm1 223 236 DO jj = 1, jpj 224 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) & 225 & + e3v_a(ibdy1:ibdy2,jj,jk) * va(ibdy1:ibdy2,jj,jk) * vmask(ibdy1:ibdy2,jj,jk) 237 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) & 238 & + e3v(ibdy1:ibdy2,jj,jk,Krhs_a) & 239 & * vv(ibdy1:ibdy2,jj,jk,Krhs_a) & 240 & * vmask(ibdy1:ibdy2,jj,jk) 226 241 END DO 227 242 END DO 228 243 DO jj = 1, jpj 229 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) * r1_hv _a(ibdy1:ibdy2,jj)244 zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) * r1_hv(ibdy1:ibdy2,jj,Krhs_a) 230 245 END DO 231 246 DO jk = 1, jpkm1 232 247 DO jj = 1, jpj 233 va(ibdy1:ibdy2,jj,jk) = ( va(ibdy1:ibdy2,jj,jk) & 234 & + va_b(ibdy1:ibdy2,jj)-zvb(ibdy1:ibdy2,jj)) * vmask(ibdy1:ibdy2,jj,jk) 248 vv(ibdy1:ibdy2,jj,jk,Krhs_a) = ( vv(ibdy1:ibdy2,jj,jk,Krhs_a) & 249 & + vv_b(ibdy1:ibdy2,jj, Krhs_a) & 250 & - zvb(ibdy1:ibdy2,jj) & 251 & ) * vmask(ibdy1:ibdy2,jj,jk) 235 252 END DO 236 253 END DO … … 239 256 DO jk = 1, jpkm1 ! Mask domain edges 240 257 DO jj = 1, jpj 241 u a(nlci-1,jj,jk) = 0._wp242 v a(nlci ,jj,jk) = 0._wp258 uu(nlci-1,jj,jk,Krhs_a) = 0._wp 259 vv(nlci ,jj,jk,Krhs_a) = 0._wp 243 260 END DO 244 261 END DO … … 251 268 ! 252 269 IF( .NOT.ln_dynspg_ts ) THEN ! Store transport 253 v a_b(:,jbdy1:jbdy2) = 0._wp270 vv_b(:,jbdy1:jbdy2,Krhs_a) = 0._wp 254 271 DO jk = 1, jpkm1 255 272 DO ji = 1, jpi 256 va_b(ji,jbdy1:jbdy2) = va_b(ji,jbdy1:jbdy2) & 257 & + e3v_a(ji,jbdy1:jbdy2,jk) * va(ji,jbdy1:jbdy2,jk) * vmask(ji,jbdy1:jbdy2,jk) 273 vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2, Krhs_a) & 274 & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 275 & * vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 276 & * vmask(ji,jbdy1:jbdy2,jk) 258 277 END DO 259 278 END DO 260 279 DO ji=1,jpi 261 v a_b(ji,jbdy1:jbdy2) = va_b(ji,jbdy1:jbdy2) * r1_hv_a(ji,jbdy1:jbdy2)280 vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2,Krhs_a) * r1_hv(ji,jbdy1:jbdy2,Krhs_a) 262 281 END DO 263 282 ENDIF … … 266 285 DO jk = 1, jpkm1 ! Smooth 267 286 DO ji = i1, i2 268 va(ji,jbdy2,jk) = 0.25_wp*(va(ji,jbdy2-1,jk)+2._wp*va(ji,jbdy2,jk)+va(ji,jbdy2+1,jk)) 287 vv(ji,jbdy2,jk,Krhs_a) = 0.25_wp*( vv(ji,jbdy2-1,jk,Krhs_a) & 288 & + 2._wp*vv(ji,jbdy2 ,jk,Krhs_a) & 289 & + vv(ji,jbdy2+1,jk,Krhs_a) ) 269 290 END DO 270 291 END DO … … 274 295 DO jk=1,jpkm1 275 296 DO ji=1,jpi 276 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) & 277 & + e3v_a(ji,jbdy1:jbdy2,jk) * va(ji,jbdy1:jbdy2,jk) * vmask(ji,jbdy1:jbdy2,jk) 297 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) & 298 & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 299 & * vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 300 & * vmask(ji,jbdy1:jbdy2,jk) 278 301 END DO 279 302 END DO 280 303 DO ji = 1, jpi 281 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) * r1_hv _a(ji,jbdy1:jbdy2)304 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) * r1_hv(ji,jbdy1:jbdy2,Krhs_a) 282 305 END DO 283 306 284 307 DO jk = 1, jpkm1 285 308 DO ji = 1, jpi 286 va(ji,jbdy1:jbdy2,jk) = ( va(ji,jbdy1:jbdy2,jk) & 287 & + va_b(ji,jbdy1:jbdy2) - zvb(ji,jbdy1:jbdy2) ) * vmask(ji,jbdy1:jbdy2,jk) 309 vv(ji,jbdy1:jbdy2,jk,Krhs_a) = ( vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 310 & + vv_b(ji,jbdy1:jbdy2, Krhs_a) & 311 & - zvb(ji,jbdy1:jbdy2) & 312 & ) * vmask(ji,jbdy1:jbdy2,jk) 288 313 END DO 289 314 END DO … … 293 318 DO jk = 1, jpkm1 294 319 DO ji = 1, jpi 295 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) & 296 & + e3u_a(ji,jbdy1:jbdy2,jk) * ua(ji,jbdy1:jbdy2,jk) * umask(ji,jbdy1:jbdy2,jk) 320 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) & 321 & + e3u(ji,jbdy1:jbdy2,jk,Krhs_a) & 322 & * uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 323 & * umask(ji,jbdy1:jbdy2,jk) 297 324 END DO 298 325 END DO 299 326 DO ji = 1, jpi 300 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) * r1_hu _a(ji,jbdy1:jbdy2)327 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) * r1_hu(ji,jbdy1:jbdy2,Krhs_a) 301 328 END DO 302 329 303 330 DO jk = 1, jpkm1 304 331 DO ji = 1, jpi 305 ua(ji,jbdy1:jbdy2,jk) = ( ua(ji,jbdy1:jbdy2,jk) & 306 & + ua_b(ji,jbdy1:jbdy2) - zub(ji,jbdy1:jbdy2) ) * umask(ji,jbdy1:jbdy2,jk) 332 uu(ji,jbdy1:jbdy2,jk,Krhs_a) = ( uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 333 & + uu_b(ji,jbdy1:jbdy2, Krhs_a) & 334 & - zub(ji,jbdy1:jbdy2) & 335 & ) * umask(ji,jbdy1:jbdy2,jk) 307 336 END DO 308 337 END DO … … 311 340 DO jk = 1, jpkm1 ! Mask domain edges 312 341 DO ji = 1, jpi 313 u a(ji,1,jk) = 0._wp314 v a(ji,1,jk) = 0._wp342 uu(ji,1,jk,Krhs_a) = 0._wp 343 vv(ji,1,jk,Krhs_a) = 0._wp 315 344 END DO 316 345 END DO … … 323 352 ! 324 353 IF( .NOT.ln_dynspg_ts ) THEN ! Store transport 325 v a_b(:,jbdy1:jbdy2) = 0._wp354 vv_b(:,jbdy1:jbdy2,Krhs_a) = 0._wp 326 355 DO jk = 1, jpkm1 327 356 DO ji = 1, jpi 328 va_b(ji,jbdy1:jbdy2) = va_b(ji,jbdy1:jbdy2) & 329 & + e3v_a(ji,jbdy1:jbdy2,jk) * va(ji,jbdy1:jbdy2,jk) * vmask(ji,jbdy1:jbdy2,jk) 357 vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2, Krhs_a) & 358 & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 359 & * vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 360 & * vmask(ji,jbdy1:jbdy2,jk) 330 361 END DO 331 362 END DO 332 363 DO ji=1,jpi 333 v a_b(ji,jbdy1:jbdy2) = va_b(ji,jbdy1:jbdy2) * r1_hv_a(ji,jbdy1:jbdy2)364 vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2,Krhs_a) * r1_hv(ji,jbdy1:jbdy2,Krhs_a) 334 365 END DO 335 366 ENDIF … … 338 369 DO jk = 1, jpkm1 ! Smooth 339 370 DO ji = i1, i2 340 va(ji,jbdy1,jk) = 0.25_wp*(va(ji,jbdy1-1,jk)+2._wp*va(ji,jbdy1,jk)+va(ji,jbdy1+1,jk)) 371 vv(ji,jbdy1,jk,Krhs_a) = 0.25_wp*( vv(ji,jbdy1-1,jk,Krhs_a) & 372 & + 2._wp*vv(ji,jbdy1 ,jk,Krhs_a) & 373 & + vv(ji,jbdy1+1,jk,Krhs_a) ) 341 374 END DO 342 375 END DO … … 346 379 DO jk=1,jpkm1 347 380 DO ji=1,jpi 348 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) & 349 & + e3v_a(ji,jbdy1:jbdy2,jk) * va(ji,jbdy1:jbdy2,jk) * vmask(ji,jbdy1:jbdy2,jk) 381 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) & 382 & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 383 & * vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 384 & * vmask(ji,jbdy1:jbdy2,jk) 350 385 END DO 351 386 END DO 352 387 DO ji = 1, jpi 353 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) * r1_hv _a(ji,jbdy1:jbdy2)388 zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) * r1_hv(ji,jbdy1:jbdy2,Krhs_a) 354 389 END DO 355 390 356 391 DO jk = 1, jpkm1 357 392 DO ji = 1, jpi 358 va(ji,jbdy1:jbdy2,jk) = ( va(ji,jbdy1:jbdy2,jk) & 359 & + va_b(ji,jbdy1:jbdy2) - zvb(ji,jbdy1:jbdy2) ) * vmask(ji,jbdy1:jbdy2,jk) 393 vv(ji,jbdy1:jbdy2,jk,Krhs_a) = ( vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 394 & + vv_b(ji,jbdy1:jbdy2, Krhs_a) & 395 & - zvb(ji,jbdy1:jbdy2) & 396 & ) * vmask(ji,jbdy1:jbdy2,jk) 360 397 END DO 361 398 END DO … … 367 404 DO jk = 1, jpkm1 368 405 DO ji = 1, jpi 369 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) & 370 & + e3u_a(ji,jbdy1:jbdy2,jk) * ua(ji,jbdy1:jbdy2,jk) * umask(ji,jbdy1:jbdy2,jk) 406 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) & 407 & + e3u(ji,jbdy1:jbdy2,jk,Krhs_a) & 408 & * uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 409 & * umask(ji,jbdy1:jbdy2,jk) 371 410 END DO 372 411 END DO 373 412 DO ji = 1, jpi 374 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) * r1_hu _a(ji,jbdy1:jbdy2)413 zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) * r1_hu(ji,jbdy1:jbdy2,Krhs_a) 375 414 END DO 376 415 377 416 DO jk = 1, jpkm1 378 417 DO ji = 1, jpi 379 ua(ji,jbdy1:jbdy2,jk) = ( ua(ji,jbdy1:jbdy2,jk) & 380 & + ua_b(ji,jbdy1:jbdy2) - zub(ji,jbdy1:jbdy2) ) * umask(ji,jbdy1:jbdy2,jk) 418 uu(ji,jbdy1:jbdy2,jk,Krhs_a) = ( uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 419 & + uu_b(ji,jbdy1:jbdy2, Krhs_a) & 420 & - zub(ji,jbdy1:jbdy2) & 421 & ) * umask(ji,jbdy1:jbdy2,jk) 381 422 END DO 382 423 END DO … … 385 426 DO jk = 1, jpkm1 ! Mask domain edges 386 427 DO ji = 1, jpi 387 u a(ji,nlcj ,jk) = 0._wp388 v a(ji,nlcj-1,jk) = 0._wp428 uu(ji,nlcj ,jk,Krhs_a) = 0._wp 429 vv(ji,nlcj-1,jk,Krhs_a) = 0._wp 389 430 END DO 390 431 END DO … … 520 561 DO jj = 1, jpj 521 562 DO ji = 2, indx 522 ssh a(ji,jj) = hbdy_w(ji-1,jj)563 ssh(ji,jj,Krhs_a) = hbdy_w(ji-1,jj) 523 564 ENDDO 524 565 ENDDO … … 530 571 DO jj = 1, jpj 531 572 DO ji = indx, nlci-1 532 ssh a(ji,jj) = hbdy_e(ji-indx+1,jj)573 ssh(ji,jj,Krhs_a) = hbdy_e(ji-indx+1,jj) 533 574 ENDDO 534 575 ENDDO … … 540 581 DO jj = 2, indy 541 582 DO ji = 1, jpi 542 ssh a(ji,jj) = hbdy_s(ji,jj-1)583 ssh(ji,jj,Krhs_a) = hbdy_s(ji,jj-1) 543 584 ENDDO 544 585 ENDDO … … 550 591 DO jj = indy, nlcj-1 551 592 DO ji = 1, jpi 552 ssh a(ji,jj) = hbdy_n(ji,jj-indy+1)593 ssh(ji,jj,Krhs_a) = hbdy_n(ji,jj-indy+1) 553 594 ENDDO 554 595 ENDDO … … 659 700 DO jj=j1,j2 660 701 DO ji=i1,i2 661 ptab(ji,jj,jk,jn) = ts n(ji,jj,jk,jn)702 ptab(ji,jj,jk,jn) = ts(ji,jj,jk,jn,Kmm_a) 662 703 END DO 663 704 END DO … … 669 710 DO jj=j1,j2 670 711 DO ji=i1,i2 671 ptab(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t _n(ji,jj,jk)712 ptab(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t(ji,jj,jk,Kmm_a) 672 713 END DO 673 714 END DO … … 684 725 iref = ji 685 726 jref = jj 686 if(western_side) iref=MAX(2,ji)687 if(eastern_side) iref=MIN(nlci-1,ji)688 if(southern_side) jref=MAX(2 ,jj)727 if(western_side) iref=MAX(2 ,ji) 728 if(eastern_side) iref=MIN(nlci-1,ji) 729 if(southern_side) jref=MAX(2 ,jj) 689 730 if(northern_side) jref=MIN(nlcj-1,jj) 690 731 N_in = 0 … … 693 734 N_in = N_in + 1 694 735 tabin(jk,:) = ptab(ji,jj,jk,n1:n2-1) 695 h_in(N_in) = ptab(ji,jj,jk,n2)736 h_in(N_in) = ptab(ji,jj,jk,n2) 696 737 END DO 697 738 N_out = 0 … … 699 740 IF (tmask(iref,jref,jk) == 0) EXIT 700 741 N_out = N_out + 1 701 h_out(jk) = e3t _n(iref,jref,jk)742 h_out(jk) = e3t(iref,jref,jk,Kmm_a) 702 743 ENDDO 703 744 IF (N_in > 0) THEN … … 713 754 ! 714 755 DO jn=1, jpts 715 ts a(i1:i2,j1:j2,1:jpk,jn)=ptab_child(i1:i2,j1:j2,1:jpk,jn)*tmask(i1:i2,j1:j2,1:jpk)756 ts(i1:i2,j1:j2,1:jpk,jn,Krhs_a)=ptab_child(i1:i2,j1:j2,1:jpk,jn)*tmask(i1:i2,j1:j2,1:jpk) 716 757 END DO 717 758 … … 722 763 ! 723 764 ! Remove CORNERS 724 IF((nbondj == -1).OR.(nbondj == 2)) jmin = 2 + nbghostcells765 IF((nbondj == -1).OR.(nbondj == 2)) jmin = 2 + nbghostcells 725 766 IF((nbondj == +1).OR.(nbondj == 2)) jmax = nlcj - nbghostcells - 1 726 IF((nbondi == -1).OR.(nbondi == 2)) imin = 2 + nbghostcells767 IF((nbondi == -1).OR.(nbondi == 2)) imin = 2 + nbghostcells 727 768 IF((nbondi == +1).OR.(nbondi == 2)) imax = nlci - nbghostcells - 1 728 769 ! … … 737 778 ibdy = nlci-nbghostcells 738 779 DO jn = 1, jpts 739 tsa(ibdy+1,jmin:jmax,1:jpkm1,jn) = z1 * ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) + z2 * ptab_child(ibdy,jmin:jmax,1:jpkm1,jn) 780 ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) & 781 & + z2 * ptab_child(ibdy ,jmin:jmax,1:jpkm1,jn) 740 782 DO jk = 1, jpkm1 741 783 DO jj = jmin,jmax 742 784 IF( umask(ibdy-1,jj,jk) == 0._wp ) THEN 743 ts a(ibdy,jj,jk,jn) = tsa(ibdy+1,jj,jk,jn) * tmask(ibdy,jj,jk)785 ts(ibdy,jj,jk,jn,Krhs_a) = ts(ibdy+1,jj,jk,jn,Krhs_a) * tmask(ibdy,jj,jk) 744 786 ELSE 745 tsa(ibdy,jj,jk,jn)=(z4*tsa(ibdy+1,jj,jk,jn)+z3*tsa(ibdy-1,jj,jk,jn))*tmask(ibdy,jj,jk) 746 IF( un(ibdy-1,jj,jk) > 0._wp ) THEN 747 tsa(ibdy,jj,jk,jn)=( z6*tsa(ibdy-1,jj,jk,jn)+z5*tsa(ibdy+1,jj,jk,jn) & 748 + z7*tsa(ibdy-2,jj,jk,jn) ) * tmask(ibdy,jj,jk) 787 ts(ibdy,jj,jk,jn,Krhs_a) = ( z4 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 788 & + z3 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 789 & ) * tmask(ibdy ,jj,jk) 790 IF( uu(ibdy-1,jj,jk,Kmm_a) > 0._wp ) THEN 791 ts(ibdy,jj,jk,jn,Krhs_a) = ( z6 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 792 & + z5 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 793 & + z7 * ts(ibdy-2,jj,jk,jn,Krhs_a) & 794 & ) * tmask(ibdy ,jj,jk) 749 795 ENDIF 750 796 ENDIF … … 752 798 END DO 753 799 ! Restore ghost points: 754 tsa(ibdy+1,jmin:jmax,1:jpkm1,jn) = ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) * tmask(ibdy+1,jmin:jmax,1:jpkm1) 800 ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) & 801 & * tmask(ibdy+1,jmin:jmax,1:jpkm1) 755 802 END DO 756 803 ENDIF … … 766 813 jbdy = nlcj-nbghostcells 767 814 DO jn = 1, jpts 768 tsa(imin:imax,jbdy+1,1:jpkm1,jn) = z1 * ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) + z2 * ptab_child(imin:imax,jbdy,1:jpkm1,jn) 815 ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) & 816 & + z2 * ptab_child(imin:imax,jbdy ,1:jpkm1,jn) 769 817 DO jk = 1, jpkm1 770 818 DO ji = imin,imax 771 819 IF( vmask(ji,jbdy-1,jk) == 0._wp ) THEN 772 ts a(ji,jbdy,jk,jn) = tsa(ji,jbdy+1,jk,jn) * tmask(ji,jbdy,jk)820 ts(ji,jbdy,jk,jn,Krhs_a) = ts(ji,jbdy+1,jk,jn,Krhs_a) * tmask(ji,jbdy,jk) 773 821 ELSE 774 tsa(ji,jbdy,jk,jn)=(z4*tsa(ji,jbdy+1,jk,jn)+z3*tsa(ji,jbdy-1,jk,jn))*tmask(ji,jbdy,jk) 775 IF (vn(ji,jbdy-1,jk) > 0._wp ) THEN 776 tsa(ji,jbdy,jk,jn)=( z6*tsa(ji,jbdy-1,jk,jn)+z5*tsa(ji,jbdy+1,jk,jn) & 777 + z7*tsa(ji,jbdy-2,jk,jn) ) * tmask(ji,jbdy,jk) 822 ts(ji,jbdy,jk,jn,Krhs_a)=( z4 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 823 & + z3 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 824 & ) * tmask(ji,jbdy ,jk) 825 IF (vv(ji,jbdy-1,jk,Kmm_a) > 0._wp ) THEN 826 ts(ji,jbdy,jk,jn,Krhs_a)=( z6 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 827 & + z5 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 828 & + z7 * ts(ji,jbdy-2,jk,jn,Krhs_a) & 829 & ) * tmask(ji,jbdy ,jk) 778 830 ENDIF 779 831 ENDIF … … 781 833 END DO 782 834 ! Restore ghost points: 783 tsa(imin:imax,jbdy+1,1:jpkm1,jn) = ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) * tmask(imin:imax,jbdy+1,1:jpkm1) 835 ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) & 836 & * tmask(imin:imax,jbdy+1,1:jpkm1) 784 837 END DO 785 838 ENDIF … … 795 848 ibdy = 1+nbghostcells 796 849 DO jn = 1, jpts 797 tsa(ibdy-1,jmin:jmax,1:jpkm1,jn) = z1 * ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) + z2 * ptab_child(ibdy,jmin:jmax,1:jpkm1,jn) 850 ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) & 851 & + z2 * ptab_child(ibdy ,jmin:jmax,1:jpkm1,jn) 798 852 DO jk = 1, jpkm1 799 853 DO jj = jmin,jmax 800 854 IF( umask(ibdy,jj,jk) == 0._wp ) THEN 801 ts a(ibdy,jj,jk,jn) = tsa(ibdy-1,jj,jk,jn) * tmask(ibdy,jj,jk)855 ts(ibdy,jj,jk,jn,Krhs_a) = ts(ibdy-1,jj,jk,jn,Krhs_a) * tmask(ibdy,jj,jk) 802 856 ELSE 803 tsa(ibdy,jj,jk,jn)=(z4*tsa(ibdy-1,jj,jk,jn)+z3*tsa(ibdy+1,jj,jk,jn))*tmask(ibdy,jj,jk) 804 IF( un(ibdy,jj,jk) < 0._wp ) THEN 805 tsa(ibdy,jj,jk,jn)=( z6*tsa(ibdy+1,jj,jk,jn)+z5*tsa(ibdy-1,jj,jk,jn) & 806 + z7*tsa(ibdy+2,jj,jk,jn) ) * tmask(ibdy,jj,jk) 857 ts(ibdy,jj,jk,jn,Krhs_a) = ( z4 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 858 & + z3 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 859 & ) * tmask(ibdy ,jj,jk) 860 IF( uu(ibdy,jj,jk,Kmm_a) < 0._wp ) THEN 861 ts(ibdy,jj,jk,jn,Krhs_a) = ( z6 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 862 & + z5 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 863 & + z7 * ts(ibdy+2,jj,jk,jn,Krhs_a) & 864 & ) * tmask(ibdy,jj,jk) 807 865 ENDIF 808 866 ENDIF … … 810 868 END DO 811 869 ! Restore ghost points: 812 tsa(ibdy-1,jmin:jmax,1:jpkm1,jn) = ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) * tmask(ibdy-1,jmin:jmax,1:jpkm1) 870 ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) & 871 & * tmask(ibdy-1,jmin:jmax,1:jpkm1) 813 872 END DO 814 873 ENDIF … … 824 883 jbdy=1+nbghostcells 825 884 DO jn = 1, jpts 826 tsa(imin:imax,jbdy-1,1:jpkm1,jn) = z1 * ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) + z2 * ptab_child(imin:imax,jbdy,1:jpkm1,jn) 885 ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) & 886 & + z2 * ptab_child(imin:imax,jbdy ,1:jpkm1,jn) 827 887 DO jk = 1, jpkm1 828 888 DO ji = imin,imax 829 889 IF( vmask(ji,jbdy,jk) == 0._wp ) THEN 830 ts a(ji,jbdy,jk,jn)=tsa(ji,jbdy-1,jk,jn) * tmask(ji,jbdy,jk)890 ts(ji,jbdy,jk,jn,Krhs_a) = ts(ji,jbdy-1,jk,jn,Krhs_a) * tmask(ji,jbdy,jk) 831 891 ELSE 832 tsa(ji,jbdy,jk,jn)=(z4*tsa(ji,jbdy-1,jk,jn)+z3*tsa(ji,jbdy+1,jk,jn))*tmask(ji,jbdy,jk) 833 IF( vn(ji,jbdy,jk) < 0._wp ) THEN 834 tsa(ji,jbdy,jk,jn)=( z6*tsa(ji,jbdy+1,jk,jn)+z5*tsa(ji,jbdy-1,jk,jn) & 835 + z7*tsa(ji,jbdy+2,jk,jn) ) * tmask(ji,jbdy,jk) 892 ts(ji,jbdy,jk,jn,Krhs_a) = ( z4 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 893 & + z3 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 894 & ) * tmask(ji,jbdy ,jk) 895 IF( vv(ji,jbdy,jk,Kmm_a) < 0._wp ) THEN 896 ts(ji,jbdy,jk,jn,Krhs_a) = ( z6 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 897 & + z5 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 898 & + z7 * ts(ji,jbdy+2,jk,jn,Krhs_a) & 899 & ) * tmask(ji,jbdy ,jk) 836 900 ENDIF 837 901 ENDIF … … 839 903 END DO 840 904 ! Restore ghost points: 841 tsa(imin:imax,jbdy-1,1:jpkm1,jn) = ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) * tmask(imin:imax,jbdy-1,1:jpkm1) 905 ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) & 906 & * tmask(imin:imax,jbdy-1,1:jpkm1) 842 907 END DO 843 908 ENDIF … … 861 926 ! 862 927 IF( before) THEN 863 ptab(i1:i2,j1:j2) = ssh n(i1:i2,j1:j2)928 ptab(i1:i2,j1:j2) = ssh(i1:i2,j1:j2,Kmm_a) 864 929 ELSE 865 930 western_side = (nb == 1).AND.(ndir == 1) … … 900 965 DO jj=j1,j2 901 966 DO ji=i1,i2 902 ptab(ji,jj,jk,1) = (e2u(ji,jj) * e3u_n(ji,jj,jk) * un(ji,jj,jk)*umask(ji,jj,jk)) 967 ptab(ji,jj,jk,1) = ( e2u(ji,jj) * e3u(ji,jj,jk,Kmm_a) & 968 & * uu(ji,jj,jk,Kmm_a) * umask(ji,jj,jk) ) 903 969 # if defined key_vertical 904 ptab(ji,jj,jk,2) = (umask(ji,jj,jk) * e2u(ji,jj) * e3u _n(ji,jj,jk))970 ptab(ji,jj,jk,2) = (umask(ji,jj,jk) * e2u(ji,jj) * e3u(ji,jj,jk,Kmm_a)) 905 971 # endif 906 972 END DO … … 923 989 IF (ptab(ji,jj,jk,2) == 0) EXIT 924 990 N_in = N_in + 1 925 tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2)991 tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 926 992 h_in(N_in) = ptab(ji,jj,jk,2)/(e2u(ji,jj)*zrhoy) 927 993 ENDDO 928 994 929 995 IF (N_in == 0) THEN 930 u a(ji,jj,:) = 0._wp996 uu(ji,jj,:,Krhs_a) = 0._wp 931 997 CYCLE 932 998 ENDIF … … 936 1002 if (umask(iref,jj,jk) == 0) EXIT 937 1003 N_out = N_out + 1 938 h_out(N_out) = e3u _a(iref,jj,jk)1004 h_out(N_out) = e3u(iref,jj,jk,Krhs_a) 939 1005 ENDDO 940 1006 941 1007 IF (N_out == 0) THEN 942 u a(ji,jj,:) = 0._wp1008 uu(ji,jj,:,Krhs_a) = 0._wp 943 1009 CYCLE 944 1010 ENDIF 945 1011 946 1012 IF (N_in * N_out > 0) THEN 947 h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in))1013 h_diff = SUM( h_out(1:N_out) ) - SUM( h_in(1:N_in) ) 948 1014 ! Should be able to remove the next IF/ELSEIF statement once scale factors are dealt with properly 949 1015 if (h_diff < -1.e4) then 950 print *,'CHECK YOUR BATHY ...', h_diff, sum(h_out(1:N_out)), sum(h_in(1:N_in))1016 print *,'CHECK YOUR BATHY ...', h_diff, SUM( h_out(1:N_out) ), SUM( h_in(1:N_in) ) 951 1017 ! stop 952 1018 endif 953 1019 ENDIF 954 call reconstructandremap(tabin(1:N_in),h_in(1:N_in),ua(ji,jj,1:N_out),h_out(1:N_out),N_in,N_out) 1020 call reconstructandremap( tabin(1:N_in) , h_in(1:N_in), uu(ji,jj,1:N_out,Krhs_a), & 1021 & h_out(1:N_out), N_in , N_out ) 955 1022 ENDDO 956 1023 ENDDO … … 959 1026 DO jk = 1, jpkm1 960 1027 DO jj=j1,j2 961 u a(i1:i2,jj,jk) = ptab(i1:i2,jj,jk,1) / ( zrhoy * e2u(i1:i2,jj) * e3u_a(i1:i2,jj,jk) )1028 uu(i1:i2,jj,jk,Krhs_a) = ptab(i1:i2,jj,jk,1) / ( zrhoy * e2u(i1:i2,jj) * e3u(i1:i2,jj,jk,Krhs_a) ) 962 1029 END DO 963 1030 END DO … … 992 1059 DO jj=j1,j2 993 1060 DO ji=i1,i2 994 ptab(ji,jj,jk,1) = (e1v(ji,jj) * e3v_n(ji,jj,jk) * vn(ji,jj,jk)*vmask(ji,jj,jk)) 1061 ptab(ji,jj,jk,1) = ( e1v(ji,jj) * e3v(ji,jj,jk,Kmm_a) & 1062 & * vv(ji,jj,jk,Kmm_a) * vmask(ji,jj,jk) ) 995 1063 # if defined key_vertical 996 ptab(ji,jj,jk,2) = vmask(ji,jj,jk) * e1v(ji,jj) * e3v _n(ji,jj,jk)1064 ptab(ji,jj,jk,2) = vmask(ji,jj,jk) * e1v(ji,jj) * e3v(ji,jj,jk,Kmm_a) 997 1065 # endif 998 1066 END DO … … 1015 1083 if (ptab(ji,jj,jk,2) == 0) EXIT 1016 1084 N_in = N_in + 1 1017 tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2)1085 tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 1018 1086 h_in(N_in) = ptab(ji,jj,jk,2)/(e1v(ji,jj)*zrhox) 1019 1087 END DO 1020 1088 IF (N_in == 0) THEN 1021 v a(ji,jj,:) = 0._wp1089 vv(ji,jj,:,Krhs_a) = 0._wp 1022 1090 CYCLE 1023 1091 ENDIF … … 1027 1095 if (vmask(ji,jref,jk) == 0) EXIT 1028 1096 N_out = N_out + 1 1029 h_out(N_out) = e3v _a(ji,jref,jk)1097 h_out(N_out) = e3v(ji,jref,jk,Krhs_a) 1030 1098 END DO 1031 1099 IF (N_out == 0) THEN 1032 v a(ji,jj,:) = 0._wp1100 vv(ji,jj,:,Krhs_a) = 0._wp 1033 1101 CYCLE 1034 1102 ENDIF 1035 call reconstructandremap(tabin(1:N_in),h_in(1:N_in),va(ji,jj,1:N_out),h_out(1:N_out),N_in,N_out) 1103 call reconstructandremap( tabin(1:N_in) , h_in(1:N_in), vv(ji,jj,1:N_out,Krhs_a), & 1104 & h_out(1:N_out), N_in , N_out ) 1036 1105 END DO 1037 1106 END DO 1038 1107 # else 1039 1108 DO jk = 1, jpkm1 1040 v a(i1:i2,j1:j2,jk) = ptab(i1:i2,j1:j2,jk,1) / ( zrhox * e1v(i1:i2,j1:j2) * e3v_a(i1:i2,j1:j2,jk) )1109 vv(i1:i2,j1:j2,jk,Krhs_a) = ptab(i1:i2,j1:j2,jk,1) / ( zrhox * e1v(i1:i2,j1:j2) * e3v(i1:i2,j1:j2,jk,Krhs_a) ) 1041 1110 END DO 1042 1111 # endif … … 1060 1129 ! 1061 1130 IF( before ) THEN 1062 ptab(i1:i2,j1:j2) = e2u(i1:i2,j1:j2) * hu _n(i1:i2,j1:j2) * un_b(i1:i2,j1:j2)1131 ptab(i1:i2,j1:j2) = e2u(i1:i2,j1:j2) * hu(i1:i2,j1:j2,Kmm_a) * uu_b(i1:i2,j1:j2,Kmm_a) 1063 1132 ELSE 1064 1133 western_side = (nb == 1).AND.(ndir == 1) … … 1113 1182 ! 1114 1183 IF( before ) THEN 1115 ptab(i1:i2,j1:j2) = e1v(i1:i2,j1:j2) * hv _n(i1:i2,j1:j2) * vn_b(i1:i2,j1:j2)1184 ptab(i1:i2,j1:j2) = e1v(i1:i2,j1:j2) * hv(i1:i2,j1:j2,Kmm_a) * vv_b(i1:i2,j1:j2,Kmm_a) 1116 1185 ELSE 1117 1186 western_side = (nb == 1).AND.(ndir == 1) … … 1394 1463 DO jj=j1,j2 1395 1464 DO ji=i1,i2 1396 ptab(ji,jj,jk,2) = wmask(ji,jj,jk) * e3w _n(ji,jj,jk)1465 ptab(ji,jj,jk,2) = wmask(ji,jj,jk) * e3w(ji,jj,jk,Kmm_a) 1397 1466 END DO 1398 1467 END DO … … 1415 1484 IF (wmask(ji,jj,jk) == 0) EXIT 1416 1485 N_out = N_out + 1 1417 h_out(jk) = e3t _n(ji,jj,jk)1486 h_out(jk) = e3t(ji,jj,jk,Kmm_a) 1418 1487 ENDDO 1419 1488 IF (N_in > 0) THEN
Note: See TracChangeset
for help on using the changeset viewer.