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/OCE/TRA/trazdf.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/OCE/TRA/trazdf.F90

    r13237 r13899  
    161161            IF( l_ldfslp ) THEN            ! isoneutral diffusion: add the contribution  
    162162               IF( ln_traldf_msc  ) THEN     ! MSC iso-neutral operator  
    163                   DO_3D_00_00( 2, jpkm1 ) 
     163                  DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    164164                     zwt(ji,jj,jk) = zwt(ji,jj,jk) + akz(ji,jj,jk)   
    165165                  END_3D 
    166166               ELSE                          ! standard or triad iso-neutral operator 
    167                   DO_3D_00_00( 2, jpkm1 ) 
     167                  DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    168168                     zwt(ji,jj,jk) = zwt(ji,jj,jk) + ah_wslp2(ji,jj,jk) 
    169169                  END_3D 
     
    173173            ! Diagonal, lower (i), upper (s)  (including the bottom boundary condition since avt is masked) 
    174174            IF( ln_zad_Aimp ) THEN         ! Adaptive implicit vertical advection 
    175                DO_3D_00_00( 1, jpkm1 ) 
     175               DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    176176                  zzwi = - p2dt * zwt(ji,jj,jk  ) / e3w(ji,jj,jk  ,Kmm) 
    177177                  zzws = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) 
     
    182182               END_3D 
    183183            ELSE 
    184                DO_3D_00_00( 1, jpkm1 ) 
     184               DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    185185                  zwi(ji,jj,jk) = - p2dt * zwt(ji,jj,jk  ) / e3w(ji,jj,jk,Kmm) 
    186186                  zws(ji,jj,jk) = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) 
     
    208208            !   used as a work space array: its value is modified. 
    209209            ! 
    210             DO_2D_00_00 
     210            DO_2D( 0, 0, 0, 0 )      !* 1st recurrence:   Tk = Dk - Ik Sk-1 / Tk-1   (increasing k) ! done one for all passive tracers (so included in the IF instruction) 
    211211               zwt(ji,jj,1) = zwd(ji,jj,1) 
    212212            END_2D 
    213             DO_3D_00_00( 2, jpkm1 ) 
     213            DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    214214               zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) / zwt(ji,jj,jk-1) 
    215215            END_3D 
     
    217217         ENDIF  
    218218         !          
    219          DO_2D_00_00 
     219         DO_2D( 0, 0, 0, 0 )         !* 2nd recurrence:    Zk = Yk - Ik / Tk-1  Zk-1 
    220220            pt(ji,jj,1,jn,Kaa) =        e3t(ji,jj,1,Kbb) * pt(ji,jj,1,jn,Kbb)    & 
    221221               &               + p2dt * e3t(ji,jj,1,Kmm) * pt(ji,jj,1,jn,Krhs) 
    222222         END_2D 
    223          DO_3D_00_00( 2, jpkm1 ) 
     223         DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    224224            zrhs =        e3t(ji,jj,jk,Kbb) * pt(ji,jj,jk,jn,Kbb)    &  
    225225               & + p2dt * e3t(ji,jj,jk,Kmm) * pt(ji,jj,jk,jn,Krhs)   ! zrhs=right hand side 
     
    227227         END_3D 
    228228         ! 
    229          DO_2D_00_00 
     229         DO_2D( 0, 0, 0, 0 )         !* 3d recurrence:    Xk = (Zk - Sk Xk+1 ) / Tk   (result is the after tracer) 
    230230            pt(ji,jj,jpkm1,jn,Kaa) = pt(ji,jj,jpkm1,jn,Kaa) / zwt(ji,jj,jpkm1) * tmask(ji,jj,jpkm1) 
    231231         END_2D 
    232          DO_3DS_00_00( jpk-2, 1, -1 ) 
     232         DO_3DS( 0, 0, 0, 0, jpk-2, 1, -1 ) 
    233233            pt(ji,jj,jk,jn,Kaa) = ( pt(ji,jj,jk,jn,Kaa) - zws(ji,jj,jk) * pt(ji,jj,jk+1,jn,Kaa) )   & 
    234234               &             / zwt(ji,jj,jk) * tmask(ji,jj,jk) 
Note: See TracChangeset for help on using the changeset viewer.