New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13899 for NEMO/branches/2020/tickets_icb_1900/src/NST/agrif_ice_interp.F90 – NEMO

Ignore:
Timestamp:
2020-11-27T17:26:33+01:00 (4 years ago)
Author:
mathiot
Message:

ticket #1900: update branch to trunk and add ICB test case

Location:
NEMO/branches/2020/tickets_icb_1900
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/tickets_icb_1900

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/sette@13559        sette 
  • NEMO/branches/2020/tickets_icb_1900/src/NST/agrif_ice_interp.F90

    r13216 r13899  
    176176            ptab(i1:i2,j1:j2,jm+5) = a_ip(i1:i2,j1:j2,jl) 
    177177            ptab(i1:i2,j1:j2,jm+6) = v_ip(i1:i2,j1:j2,jl) 
    178             ptab(i1:i2,j1:j2,jm+7) = t_su(i1:i2,j1:j2,jl) 
    179             jm = jm + 8 
     178            ptab(i1:i2,j1:j2,jm+7) = v_il(i1:i2,j1:j2,jl) 
     179            ptab(i1:i2,j1:j2,jm+8) = t_su(i1:i2,j1:j2,jl) 
     180            jm = jm + 9 
    180181            DO jk = 1, nlay_s 
    181182               ptab(i1:i2,j1:j2,jm) = e_s(i1:i2,j1:j2,jk,jl)   ;   jm = jm + 1 
     
    206207                     a_ip(ji,jj,jl) = ptab(ji,jj,jm+5) * tmask(ji,jj,1) 
    207208                     v_ip(ji,jj,jl) = ptab(ji,jj,jm+6) * tmask(ji,jj,1) 
    208                      t_su(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 
     209                     v_il(ji,jj,jl) = ptab(ji,jj,jm+7) * tmask(ji,jj,1) 
     210                     t_su(ji,jj,jl) = ptab(ji,jj,jm+8) * tmask(ji,jj,1) 
    209211                  END DO 
    210212               END DO 
    211                jm = jm + 8 
     213               jm = jm + 9 
    212214               ! 
    213215               DO jk = 1, nlay_s 
     
    239241!               ztab(:,:,jm+5) = a_ip(:,:,jl) 
    240242!               ztab(:,:,jm+6) = v_ip(:,:,jl) 
    241 !               ztab(:,:,jm+7) = t_su(:,:,jl) 
    242 !               jm = jm + 8 
     243!               ztab(:,:,jm+7) = v_il(:,:,jl) 
     244!               ztab(:,:,jm+8) = t_su(:,:,jl) 
     245!               jm = jm + 9 
    243246!               DO jk = 1, nlay_s 
    244247!                  ztab(:,:,jm) = e_s(:,:,jk,jl) 
     
    269272!            imin = i1  ;  imax = i2  ;  jmin = j1  ;  jmax = j2 
    270273!            IF( (nbondj == -1) .OR. (nbondj == 2) )   jmin = 3 
    271 !            IF( (nbondj == +1) .OR. (nbondj == 2) )   jmax = nlcj-2 
     274!            IF( (nbondj == +1) .OR. (nbondj == 2) )   jmax = jpj-2 
    272275!            IF( (nbondi == -1) .OR. (nbondi == 2) )   imin = 3 
    273 !            IF( (nbondi == +1) .OR. (nbondi == 2) )   imax = nlci-2 
     276!            IF( (nbondi == +1) .OR. (nbondi == 2) )   imax = jpi-2 
    274277! 
    275278!            ! smoothed fields 
    276279!            IF( eastern_side ) THEN 
    277 !               ztab(nlci,j1:j2,:) = z1 * ptab(nlci,j1:j2,:) + z2 * ptab(nlci-1,j1:j2,:) 
     280!               ztab(jpi,j1:j2,:) = z1 * ptab(jpi,j1:j2,:) + z2 * ptab(jpi-1,j1:j2,:) 
    278281!               DO jj = jmin, jmax 
    279282!                  rswitch = 0. 
    280 !                  IF( u_ice(nlci-2,jj) > 0._wp ) rswitch = 1. 
    281 !                  ztab(nlci-1,jj,:) = ( 1. - umask(nlci-2,jj,1) ) * ztab(nlci,jj,:)  & 
    282 !                     &                +      umask(nlci-2,jj,1)   *  & 
    283 !                     &                ( ( 1. - rswitch ) * ( z4 * ztab(nlci,jj,:)   + z3 * ztab(nlci-2,jj,:) )  & 
    284 !                     &                  +      rswitch   * ( z6 * ztab(nlci-2,jj,:) + z5 * ztab(nlci,jj,:) + z7 * ztab(nlci-3,jj,:) ) ) 
    285 !                  ztab(nlci-1,jj,:) = ztab(nlci-1,jj,:) * tmask(nlci-1,jj,1) 
     283!                  IF( u_ice(jpi-2,jj) > 0._wp ) rswitch = 1. 
     284!                  ztab(jpi-1,jj,:) = ( 1. - umask(jpi-2,jj,1) ) * ztab(jpi,jj,:)  & 
     285!                     &               +      umask(jpi-2,jj,1)   *  & 
     286!                     &               ( (1. - rswitch) * ( z4 * ztab(jpi  ,jj,:) + z3 * ztab(jpi-2,jj,:) )  & 
     287!                     &                 +     rswitch  * ( z6 * ztab(jpi-2,jj,:) + z5 * ztab(jpi  ,jj,:) + z7 * ztab(jpi-3,jj,:) ) ) 
     288!                  ztab(jpi-1,jj,:) = ztab(jpi-1,jj,:) * tmask(jpi-1,jj,1) 
    286289!               END DO 
    287290!            ENDIF 
    288291!            !  
    289292!            IF( northern_side ) THEN 
    290 !               ztab(i1:i2,nlcj,:) = z1 * ptab(i1:i2,nlcj,:) + z2 * ptab(i1:i2,nlcj-1,:) 
     293!               ztab(i1:i2,jpj,:) = z1 * ptab(i1:i2,jpj,:) + z2 * ptab(i1:i2,jpj-1,:) 
    291294!               DO ji = imin, imax 
    292295!                  rswitch = 0. 
    293 !                  IF( v_ice(ji,nlcj-2) > 0._wp ) rswitch = 1. 
    294 !                  ztab(ji,nlcj-1,:) = ( 1. - vmask(ji,nlcj-2,1) ) * ztab(ji,nlcj,:)  & 
    295 !                     &                +      vmask(ji,nlcj-2,1)   *  & 
    296 !                     &                ( ( 1. - rswitch ) * ( z4 * ztab(ji,nlcj,:)   + z3 * ztab(ji,nlcj-2,:) ) & 
    297 !                     &                  +      rswitch   * ( z6 * ztab(ji,nlcj-2,:) + z5 * ztab(ji,nlcj,:) + z7 * ztab(ji,nlcj-3,:) ) ) 
    298 !                  ztab(ji,nlcj-1,:) = ztab(ji,nlcj-1,:) * tmask(ji,nlcj-1,1) 
     296!                  IF( v_ice(ji,jpj-2) > 0._wp ) rswitch = 1. 
     297!                  ztab(ji,jpj-1,:) = ( 1. - vmask(ji,jpj-2,1) ) * ztab(ji,jpj,:)  & 
     298!                     &               +      vmask(ji,jpj-2,1)   *  & 
     299!                     &               ( (1. - rswitch) * ( z4 * ztab(ji,jpj  ,:) + z3 * ztab(ji,jpj-2,:) ) & 
     300!                     &                 +     rswitch  * ( z6 * ztab(ji,jpj-2,:) + z5 * ztab(ji,jpj  ,:) + z7 * ztab(ji,jpj-3,:) ) ) 
     301!                  ztab(ji,jpj-1,:) = ztab(ji,jpj-1,:) * tmask(ji,jpj-1,1) 
    299302!               END DO 
    300303!            END IF 
     
    327330!            ! 
    328331!            ! Treatment of corners 
    329 !            IF( (eastern_side) .AND. ((nbondj == -1).OR.(nbondj == 2)) )  ztab(nlci-1,2,:)      = ptab(nlci-1,2,:)      ! East south 
    330 !            IF( (eastern_side) .AND. ((nbondj ==  1).OR.(nbondj == 2)) )  ztab(nlci-1,nlcj-1,:) = ptab(nlci-1,nlcj-1,:) ! East north 
    331 !            IF( (western_side) .AND. ((nbondj == -1).OR.(nbondj == 2)) )  ztab(2,2,:)           = ptab(2,2,:)           ! West south 
    332 !            IF( (western_side) .AND. ((nbondj ==  1).OR.(nbondj == 2)) )  ztab(2,nlcj-1,:)      = ptab(2,nlcj-1,:)      ! West north 
     332!            IF( (eastern_side) .AND. ((nbondj == -1).OR.(nbondj == 2)) )  ztab(jpi-1,2    ,:) = ptab(jpi-1,    2,:)   ! East south 
     333!            IF( (eastern_side) .AND. ((nbondj ==  1).OR.(nbondj == 2)) )  ztab(jpi-1,jpj-1,:) = ptab(jpi-1,jpj-1,:)  ! East north 
     334!            IF( (western_side) .AND. ((nbondj == -1).OR.(nbondj == 2)) )  ztab(    2,    2,:) = ptab(    2,    2,:)   ! West south 
     335!            IF( (western_side) .AND. ((nbondj ==  1).OR.(nbondj == 2)) )  ztab(    2,jpj-1,:) = ptab(    2,jpj-1,:)   ! West north 
    333336!             
    334337!            ! retrieve ice tracers 
     
    345348!                     a_ip(ji,jj,jl) = ztab(ji,jj,jm+5) * tmask(ji,jj,1) 
    346349!                     v_ip(ji,jj,jl) = ztab(ji,jj,jm+6) * tmask(ji,jj,1) 
    347 !                     t_su(ji,jj,jl) = ztab(ji,jj,jm+7) * tmask(ji,jj,1) 
     350!                     v_il(ji,jj,jl) = ztab(ji,jj,jm+7) * tmask(ji,jj,1) 
     351!                     t_su(ji,jj,jl) = ztab(ji,jj,jm+8) * tmask(ji,jj,1) 
    348352!                  END DO 
    349353!               END DO 
    350 !               jm = jm + 8 
     354!               jm = jm + 9 
    351355!               ! 
    352356!               DO jk = 1, nlay_s 
Note: See TracChangeset for help on using the changeset viewer.