Changeset 15437
- Timestamp:
- 2021-10-22T14:21:20+02:00 (2 years ago)
- Location:
- NEMO/trunk/src/NST
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/NST/agrif_oce_interp.F90
r15119 r15437 1578 1578 DO jj = j1, j2 1579 1579 DO ji = i1, i2 1580 zh = 0._wp 1581 DO jk = 1, mbkt_parent(ji, jj)-1 1582 zh = zh + e3t0_parent(ji,jj,jk) 1583 END DO 1584 e3t0_parent(ji,jj,mbkt_parent(ji,jj)) = ht0_parent(ji, jj) - zh 1580 IF ( mbkt_parent(ji,jj) > 1 ) THEN 1581 zh = 0._wp 1582 DO jk = 1, mbkt_parent(ji, jj)-1 1583 zh = zh + e3t0_parent(ji,jj,jk) 1584 END DO 1585 e3t0_parent(ji,jj,mbkt_parent(ji,jj)) = ht0_parent(ji, jj) - zh 1586 ENDIF 1585 1587 END DO 1586 1588 END DO -
NEMO/trunk/src/NST/agrif_oce_sponge.F90
r15317 r15437 386 386 INTEGER :: iku, ikv 387 387 REAL(wp) :: ztsa, zabe1, zabe2, zbtr, zhtot 388 REAl(wp) :: zflag, zdmod, zdtot 388 389 REAL(wp), DIMENSION(i1-1:i2,j1-1:j2,jpk) :: ztu, ztv 389 390 REAL(wp), DIMENSION(i1:i2,j1:j2,jpk,n1:n2) ::tsbdiff … … 401 402 DO jj=j1,j2 402 403 DO ji=i1,i2 403 tabres(ji,jj,jk,jn) = ts(ji,jj,jk,jn,Kbb_a) 404 ! JC: masking is mandatory here: before tracer field seems 405 ! to hold non zero values where tmask=0 406 tabres(ji,jj,jk,jn) = ts(ji,jj,jk,jn,Kbb_a) * tmask(ji,jj,jk) 404 407 END DO 405 408 END DO … … 536 539 DO ji = i1,i2-1 537 540 zabe1 = rn_sponge_tra * r1_Dt * umask(ji,jj,jk) * e1e2u(ji,jj) * e3u(ji,jj,jk,Kmm_a) 538 ztu(ji,jj,jk) = zabe1 * fspu(ji,jj) * ( tsbdiff(ji+1,jj ,jk,jn) - tsbdiff(ji,jj,jk,jn) ) 541 zdtot = tsbdiff(ji+1,jj,jk,jn) - tsbdiff(ji,jj,jk,jn) 542 zdmod = ts(ji+1,jj,jk,jn,Kbb_a) - ts(ji,jj,jk,jn,Kbb_a) 543 zflag = 0.5_wp + SIGN(0.5_wp, zdtot*zdmod) 544 ztu(ji,jj,jk) = zabe1 * fspu(ji,jj) * ( zflag * zdtot + (1._wp - zflag) * zdmod ) 539 545 END DO 540 546 END DO … … 544 550 zabe2 = rn_sponge_tra * r1_Dt * vmask(ji,jj,jk) * e1e2v(ji,jj) * e3v(ji,jj,jk,Kmm_a) 545 551 ztv(ji,jj,jk) = zabe2 * fspv(ji,jj) * ( tsbdiff(ji ,jj+1,jk,jn) - tsbdiff(ji,jj,jk,jn) ) 552 zdtot = tsbdiff(ji,jj+1,jk,jn) - tsbdiff(ji,jj,jk,jn) 553 zdmod = ts(ji,jj+1,jk,jn,Kbb_a) - ts(ji,jj,jk,jn,Kbb_a) 554 zflag = 0.5_wp + SIGN(0.5_wp, zdtot*zdmod) 555 ztv(ji,jj,jk) = zabe2 * fspv(ji,jj) * ( zflag * zdtot + (1._wp - zflag) * zdmod ) 546 556 END DO 547 557 END DO … … 612 622 DO jj=j1,j2 613 623 DO ji=i1,i2 614 tabres(ji,jj,jk,m1) = uu(ji,jj,jk,Kbb_a) 624 tabres(ji,jj,jk,m1) = uu(ji,jj,jk,Kbb_a) * umask(ji,jj,jk) 615 625 END DO 616 626 END DO … … 797 807 DO jj=j1,j2 798 808 DO ji=i1,i2 799 tabres(ji,jj,jk,m1) = vv(ji,jj,jk,Kbb_a) 809 tabres(ji,jj,jk,m1) = vv(ji,jj,jk,Kbb_a) * vmask(ji,jj,jk) 800 810 END DO 801 811 END DO -
NEMO/trunk/src/NST/agrif_top_sponge.F90
r14170 r15437 90 90 DO jj=j1,j2 91 91 DO ji=i1,i2 92 tabres(ji,jj,jk,jn) = tr(ji,jj,jk,jn,Kbb_a) 92 tabres(ji,jj,jk,jn) = tr(ji,jj,jk,jn,Kbb_a) * tmask(ji,jj,jk) 93 93 END DO 94 94 END DO
Note: See TracChangeset
for help on using the changeset viewer.