Changeset 13662 for NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST
- Timestamp:
- 2020-10-22T20:49:56+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11842_SI3-10_EAP
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11842_SI3-10_EAP
- Property svn:externals
-
old new 1 ^/utils/build/arch@HEAD arch 2 ^/utils/build/makenemo@HEAD makenemo 3 ^/utils/build/mk@HEAD mk 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev@HEAD ext/AGRIF 6 ^/vendors/FCM@HEAD ext/FCM 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 1 ^/utils/build/arch@12130 arch 2 ^/utils/build/makenemo@12191 makenemo 3 ^/utils/build/mk@11662 mk 4 ^/utils/tools_r4.0-HEAD@12672 tools 5 ^/vendors/AGRIF/dev@10586 ext/AGRIF 6 ^/vendors/FCM@10134 ext/FCM 7 ^/vendors/IOIPSL@9655 ext/IOIPSL 8 9 # SETTE mapping (inactive) 10 #^/utils/CI/sette@12135 sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_ice_interp.F90
r10069 r13662 167 167 ptab(i1:i2,j1:j2,jm+5) = a_ip(i1:i2,j1:j2,jl) 168 168 ptab(i1:i2,j1:j2,jm+6) = v_ip(i1:i2,j1:j2,jl) 169 ptab(i1:i2,j1:j2,jm+7) = t_su(i1:i2,j1:j2,jl) 170 jm = jm + 8 169 ptab(i1:i2,j1:j2,jm+7) = v_il(i1:i2,j1:j2,jl) 170 ptab(i1:i2,j1:j2,jm+8) = t_su(i1:i2,j1:j2,jl) 171 jm = jm + 9 171 172 DO jk = 1, nlay_s 172 173 ptab(i1:i2,j1:j2,jm) = e_s(i1:i2,j1:j2,jk,jl) ; jm = jm + 1 … … 197 198 a_ip(ji,jj,jl) = ptab(ji,jj,jm+5) * tmask(ji,jj,1) 198 199 v_ip(ji,jj,jl) = ptab(ji,jj,jm+6) * tmask(ji,jj,1) 199 t_su(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 200 v_il(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 201 t_su(ji,jj,jl) = ptab(ji,jj,jm+8) * tmask(ji,jj,1) 200 202 END DO 201 203 END DO 202 jm = jm + 8204 jm = jm + 9 203 205 ! 204 206 DO jk = 1, nlay_s … … 230 232 ! ztab(:,:,jm+5) = a_ip(:,:,jl) 231 233 ! ztab(:,:,jm+6) = v_ip(:,:,jl) 232 ! ztab(:,:,jm+7) = t_su(:,:,jl) 233 ! jm = jm + 8 234 ! ztab(:,:,jm+7) = v_il(:,:,jl) 235 ! ztab(:,:,jm+8) = t_su(:,:,jl) 236 ! jm = jm + 9 234 237 ! DO jk = 1, nlay_s 235 238 ! ztab(:,:,jm) = e_s(:,:,jk,jl) … … 336 339 ! a_ip(ji,jj,jl) = ztab(ji,jj,jm+5) * tmask(ji,jj,1) 337 340 ! v_ip(ji,jj,jl) = ztab(ji,jj,jm+6) * tmask(ji,jj,1) 338 ! t_su(ji,jj,jl) = ztab(ji,jj,jm+7) * tmask(ji,jj,1) 341 ! v_il(ji,jj,jl) = ztab(ji,jj,jm+7) * tmask(ji,jj,1) 342 ! t_su(ji,jj,jl) = ztab(ji,jj,jm+8) * tmask(ji,jj,1) 339 343 ! END DO 340 344 ! END DO 341 ! jm = jm + 8345 ! jm = jm + 9 342 346 ! ! 343 347 ! DO jk = 1, nlay_s -
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_ice_update.F90
r10069 r13662 109 109 ptab(i1:i2,j1:j2,jm+5) = a_ip(i1:i2,j1:j2,jl) 110 110 ptab(i1:i2,j1:j2,jm+6) = v_ip(i1:i2,j1:j2,jl) 111 ptab(i1:i2,j1:j2,jm+7) = t_su(i1:i2,j1:j2,jl) 112 jm = jm + 8 111 ptab(i1:i2,j1:j2,jm+7) = v_il(i1:i2,j1:j2,jl) 112 ptab(i1:i2,j1:j2,jm+8) = t_su(i1:i2,j1:j2,jl) 113 jm = jm + 9 113 114 DO jk = 1, nlay_s 114 115 ptab(i1:i2,j1:j2,jm) = e_s(i1:i2,j1:j2,jk,jl) ; jm = jm + 1 … … 138 139 a_ip(ji,jj,jl) = ptab(ji,jj,jm+5) * tmask(ji,jj,1) 139 140 v_ip(ji,jj,jl) = ptab(ji,jj,jm+6) * tmask(ji,jj,1) 140 t_su(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 141 v_il(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 142 t_su(ji,jj,jl) = ptab(ji,jj,jm+8) * tmask(ji,jj,1) 141 143 ENDIF 142 144 END DO 143 145 END DO 144 jm = jm + 8146 jm = jm + 9 145 147 ! 146 148 DO jk = 1, nlay_s -
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_oce_interp.F90
r10068 r13662 96 96 i1 = 1 ; i2 = nlci 97 97 j1 = 1 ; j2 = nlcj 98 IF( nbondj == -1 .OR. nbondj == 2) j1 = 2 + nbghostcells99 IF( nbondj == +1 .OR. nbondj == 2) j2 = nlcj - nbghostcells - 1100 IF( nbondi == -1 .OR. nbondi == 2 )i1 = 2 + nbghostcells101 IF( nbondi == +1 .OR. nbondi == 2 )i2 = nlci - nbghostcells - 198 IF( l_Southedge ) j1 = 2 + nbghostcells 99 IF( l_Northedge ) j2 = nlcj - nbghostcells - 1 100 IF( l_Westedge ) i1 = 2 + nbghostcells 101 IF( l_Eastedge ) i2 = nlci - nbghostcells - 1 102 102 103 103 ! --- West --- ! 104 IF( nbondi == -1 .OR. nbondi == 2) THEN104 IF( l_Westedge ) THEN 105 105 ibdy1 = 2 106 106 ibdy2 = 1+nbghostcells … … 173 173 174 174 ! --- East --- ! 175 IF( nbondi == 1 .OR. nbondi == 2) THEN175 IF( l_Eastedge ) THEN 176 176 ibdy1 = nlci-1-nbghostcells 177 177 ibdy2 = nlci-2 … … 246 246 247 247 ! --- South --- ! 248 IF ( nbondj == -1 .OR. nbondj == 2) THEN248 IF ( l_Southedge ) THEN 249 249 jbdy1 = 2 250 250 jbdy2 = 1+nbghostcells … … 318 318 319 319 ! --- North --- ! 320 IF( nbondj == 1 .OR. nbondj == 2) THEN320 IF( l_Northedge ) THEN 321 321 jbdy1 = nlcj-1-nbghostcells 322 322 jbdy2 = nlcj-2 … … 405 405 IF( Agrif_Root() ) RETURN 406 406 ! 407 IF( (nbondi == -1).OR.(nbondi == 2)) THEN407 IF( l_Westedge ) THEN 408 408 DO jj=1,jpj 409 409 va_e(2:nbghostcells+1,jj) = vbdy_w(1:nbghostcells,jj) * hvr_e(2:nbghostcells+1,jj) … … 416 416 ENDIF 417 417 ! 418 IF( (nbondi == 1).OR.(nbondi == 2)) THEN418 IF( l_Eastedge ) THEN 419 419 DO jj=1,jpj 420 420 va_e(nlci-nbghostcells:nlci-1,jj) = vbdy_e(1:nbghostcells,jj) * hvr_e(nlci-nbghostcells:nlci-1,jj) … … 427 427 ENDIF 428 428 ! 429 IF ((nbondj == -1).OR.(nbondj == 2)) THEN429 IF ( l_Southedge ) THEN 430 430 DO ji=1,jpi 431 431 ua_e(ji,2:nbghostcells+1) = ubdy_s(ji,1:nbghostcells) * hur_e(ji,2:nbghostcells+1) … … 438 438 ENDIF 439 439 ! 440 IF ((nbondj == 1).OR.(nbondj == 2)) THEN440 IF ( l_Northedge ) THEN 441 441 DO ji=1,jpi 442 442 ua_e(ji,nlcj-nbghostcells:nlcj-1) = ubdy_n(ji,1:nbghostcells) * hur_e(ji,nlcj-nbghostcells:nlcj-1) … … 516 516 ! 517 517 ! --- West --- ! 518 IF( (nbondi == -1).OR.(nbondi == 2)) THEN518 IF( l_Westedge ) THEN 519 519 indx = 1+nbghostcells 520 520 DO jj = 1, jpj … … 526 526 ! 527 527 ! --- East --- ! 528 IF( (nbondi == 1).OR.(nbondi == 2)) THEN528 IF( l_Eastedge ) THEN 529 529 indx = nlci-nbghostcells 530 530 DO jj = 1, jpj … … 536 536 ! 537 537 ! --- South --- ! 538 IF ((nbondj == -1).OR.(nbondj == 2)) THEN538 IF ( l_Southedge ) THEN 539 539 indy = 1+nbghostcells 540 540 DO jj = 2, indy … … 546 546 ! 547 547 ! --- North --- ! 548 IF ((nbondj == 1).OR.(nbondj == 2)) THEN548 IF ( l_Northedge ) THEN 549 549 indy = nlcj-nbghostcells 550 550 DO jj = indy, nlcj-1 … … 571 571 ! 572 572 ! --- West --- ! 573 IF( (nbondi == -1).OR.(nbondi == 2)) THEN573 IF( l_Westedge ) THEN 574 574 indx = 1+nbghostcells 575 575 DO jj = 1, jpj … … 581 581 ! 582 582 ! --- East --- ! 583 IF( (nbondi == 1).OR.(nbondi == 2)) THEN583 IF( l_Eastedge ) THEN 584 584 indx = nlci-nbghostcells 585 585 DO jj = 1, jpj … … 591 591 ! 592 592 ! --- South --- ! 593 IF( (nbondj == -1).OR.(nbondj == 2)) THEN593 IF( l_Southedge ) THEN 594 594 indy = 1+nbghostcells 595 595 DO jj = 2, indy … … 601 601 ! 602 602 ! --- North --- ! 603 IF( (nbondj == 1).OR.(nbondj == 2)) THEN603 IF( l_Northedge ) THEN 604 604 indy = nlcj-nbghostcells 605 605 DO jj = indy, nlcj-1 … … 722 722 ! 723 723 ! Remove CORNERS 724 IF( (nbondj == -1).OR.(nbondj == 2)) jmin = 2 + nbghostcells725 IF( (nbondj == +1).OR.(nbondj == 2)) jmax = nlcj - nbghostcells - 1726 IF( (nbondi == -1).OR.(nbondi == 2))imin = 2 + nbghostcells727 IF( (nbondi == +1).OR.(nbondi == 2))imax = nlci - nbghostcells - 1724 IF( l_Southedge ) jmin = 2 + nbghostcells 725 IF( l_Northedge ) jmax = nlcj - nbghostcells - 1 726 IF( l_Westedge ) imin = 2 + nbghostcells 727 IF( l_Eastedge ) imax = nlci - nbghostcells - 1 728 728 ! 729 729 IF( eastern_side ) THEN -
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_oce_sponge.F90
r10425 r13662 109 109 110 110 ! --- West --- ! 111 IF( (nbondi == -1) .OR. (nbondi == 2)) THEN111 IF( l_Westedge ) THEN 112 112 ind1 = 1+nbghostcells 113 113 ind2 = 1+nbghostcells + ispongearea … … 120 120 121 121 ! --- East --- ! 122 IF( (nbondi == 1) .OR. (nbondi == 2)) THEN122 IF( l_Eastedge ) THEN 123 123 ind1 = nlci - nbghostcells - ispongearea 124 124 ind2 = nlci - nbghostcells … … 131 131 132 132 ! --- South --- ! 133 IF( (nbondj == -1) .OR. (nbondj == 2)) THEN133 IF( l_Southedge ) THEN 134 134 ind1 = 1+nbghostcells 135 135 ind2 = 1+nbghostcells + ispongearea … … 142 142 143 143 ! --- North --- ! 144 IF( (nbondj == 1) .OR. (nbondj == 2)) THEN144 IF( l_Northedge ) THEN 145 145 ind1 = nlcj - nbghostcells - ispongearea 146 146 ind2 = nlcj - nbghostcells … … 454 454 455 455 jmax = j2-1 456 IF ( (nbondj == 1).OR.(nbondj == 2)) jmax = MIN(jmax,nlcj-nbghostcells-2) ! North456 IF ( l_Northedge ) jmax = MIN(jmax,nlcj-nbghostcells-2) ! North 457 457 458 458 DO jj = j1+1, jmax … … 580 580 581 581 imax = i2 - 1 582 IF ( (nbondi == 1).OR.(nbondi == 2)) imax = MIN(imax,nlci-nbghostcells-2) ! East582 IF ( l_Eastedge ) imax = MIN(imax,nlci-nbghostcells-2) ! East 583 583 584 584 DO jj = j1+1, j2 -
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_top_interp.F90
r10068 r13662 136 136 ! 137 137 ! Remove CORNERS 138 IF( (nbondj == -1).OR.(nbondj == 2)) jmin = 2 + nbghostcells139 IF( (nbondj == +1).OR.(nbondj == 2)) jmax = nlcj - nbghostcells - 1140 IF( (nbondi == -1).OR.(nbondi == 2))imin = 2 + nbghostcells141 IF( (nbondi == +1).OR.(nbondi == 2))imax = nlci - nbghostcells - 1138 IF( l_Southedge ) jmin = 2 + nbghostcells 139 IF( l_Northedge ) jmax = nlcj - nbghostcells - 1 140 IF( l_Westedge ) imin = 2 + nbghostcells 141 IF( l_Eastedge ) imax = nlci - nbghostcells - 1 142 142 ! 143 143 IF( eastern_side ) THEN -
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/NST/agrif_user.F90
r11536 r13662 519 519 ind2 = 1 + nbghostcells 520 520 ind3 = 2 + nbghostcells 521 CALL agrif_declare_variable((/2,2,0/),(/ind3,ind3,0/),(/'x','y','N'/),(/1,1,1/),(/nlci,nlcj,jpl*( 8+nlay_s+nlay_i)/),tra_ice_id)521 CALL agrif_declare_variable((/2,2,0/),(/ind3,ind3,0/),(/'x','y','N'/),(/1,1,1/),(/nlci,nlcj,jpl*(9+nlay_s+nlay_i)/),tra_ice_id) 522 522 CALL agrif_declare_variable((/1,2/) ,(/ind2,ind3/) ,(/'x','y'/) ,(/1,1/) ,(/nlci,nlcj/) ,u_ice_id ) 523 523 CALL agrif_declare_variable((/2,1/) ,(/ind3,ind2/) ,(/'x','y'/) ,(/1,1/) ,(/nlci,nlcj/) ,v_ice_id ) … … 736 736 ! 737 737 ! Check sponge length: 738 iminspon = MIN(FLOOR(REAL(jpiglo-4)/REAL(2*Agrif_irhox())), FLOOR(REAL(jpjglo-4)/REAL(2*Agrif_irhox())) )739 IF (lk_mpp) iminspon = MIN(iminspon,FLOOR(REAL(jpi-2)/REAL(Agrif_irhox())), FLOOR(REAL(jpj-2)/REAL(Agrif_irhox())) )740 IF (nn_sponge_len > iminspon) CALL ctl_stop('agrif sponge length is too large')738 IF( MIN(jpi ,jpj ) <= 1 + nbghostcells + (nn_sponge_len * Agrif_irhox() + 1) & 739 .OR. MIN(jpiglo,jpjglo) <= 2* (1 + nbghostcells + (nn_sponge_len * Agrif_irhox() + 1) ) ) & 740 & CALL ctl_stop('STOP','agrif sponge length is too large') 741 741 ! 742 742 IF( agrif_oce_alloc() > 0 ) CALL ctl_warn('agrif agrif_oce_alloc: allocation of arrays failed')
Note: See TracChangeset
for help on using the changeset viewer.