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/SWE/stpRK3.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/SWE/stpRK3.F90

    r12983 r13899  
    145145      ! 
    146146!!an - calcul du gradient de pression horizontal (explicit) 
    147       DO_3D_00_00( 1, jpkm1 ) 
     147      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    148148         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nbb) - ssh(ji,jj,Nbb) ) * r1_e1u(ji,jj) 
    149149         vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nbb) - ssh(ji,jj,Nbb) ) * r1_e2v(ji,jj) 
     
    153153      ! add wind stress forcing and layer linear friction to the RHS  
    154154      z5_6 = 5._wp/6._wp 
    155       DO_3D_00_00(1,jpkm1) 
     155      DO_3D( 0, 0, 0, 0,1,jpkm1) 
    156156         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + r1_rho0 * ( z5_6*utau_b(ji,jj) + (1._wp - z5_6)*utau(ji,jj) ) / e3u(ji,jj,jk,Nbb)   & 
    157157            &                                  - rn_rfr * uu(ji,jj,jk,Nbb) 
     
    163163                            CALL dom_qco_r3c   ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) )   ! "after" ssh./h._0 ratio explicit 
    164164      IF( ln_dynadv_vec ) THEN      ! vector invariant form : applied on velocity 
    165          DO_3D_00_00(1,jpkm1) 
     165         DO_3D( 0, 0, 0, 0,1,jpkm1) 
    166166            uu(ji,jj,jk,Naa) = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 
    167167            vv(ji,jj,jk,Naa) = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 
    168168         END_3D           
    169169      ELSE 
    170          DO_3D_00_00(1,jpkm1)       ! flux form : applied on thickness weighted velocity 
     170         DO_3D( 0, 0, 0, 0,1,jpkm1)       ! flux form : applied on thickness weighted velocity 
    171171            uu(ji,jj,jk,Naa) = (         uu(ji,jj,jk,Nbb )*e3u(ji,jj,jk,Nbb)                              & 
    172172               &                 + rDt * uu(ji,jj,jk,Nrhs)*e3t(ji,jj,jk,Nbb) * umask(ji,jj,jk)        )   & 
     
    203203      ! 
    204204!!an - calcul du gradient de pression horizontal (explicit) 
    205       DO_3D_00_00( 1, jpkm1 ) 
     205      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    206206         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nnn) - ssh(ji,jj,Nnn) ) * r1_e1u(ji,jj) 
    207207         vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nnn) - ssh(ji,jj,Nnn) ) * r1_e2v(ji,jj) 
     
    211211#if defined key_RK3all 
    212212      z3_4 = 3._wp/4._wp 
    213       DO_3D_00_00(1,jpkm1) 
     213      DO_3D( 0, 0, 0, 0,1,jpkm1) 
    214214         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + r1_rho0 * ( z3_4*utau_b(ji,jj) + (1._wp - z3_4)*utau(ji,jj) ) / e3u(ji,jj,jk,Nbb)   & 
    215215            &                                  - rn_rfr * uu(ji,jj,jk,Nbb) 
     
    221221                           CALL dom_qco_r3c   ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) )   ! "after" ssh./h._0 ratio explicit 
    222222      IF( ln_dynadv_vec ) THEN      ! vector invariant form : applied on velocity 
    223          DO_3D_00_00(1,jpkm1) 
     223         DO_3D( 0, 0, 0, 0,1,jpkm1) 
    224224            uu(ji,jj,jk,Naa) = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 
    225225            vv(ji,jj,jk,Naa) = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 
    226226         END_3D           
    227227      ELSE 
    228          DO_3D_00_00(1,jpkm1)       ! flux form : applied on thickness weighted velocity 
     228         DO_3D( 0, 0, 0, 0,1,jpkm1)       ! flux form : applied on thickness weighted velocity 
    229229            uu(ji,jj,jk,Naa) = (         uu(ji,jj,jk,Nbb )*e3u(ji,jj,jk,Nbb)                              & 
    230230               &                 + rDt * uu(ji,jj,jk,Nrhs)*e3t(ji,jj,jk,Nnn) * umask(ji,jj,jk)        )   & 
     
    264264 
    265265!!an - calcul du gradient de pression horizontal (explicit) 
    266       DO_3D_00_00( 1, jpkm1 ) 
     266      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    267267         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nnn) - ssh(ji,jj,Nnn) ) * r1_e1u(ji,jj) 
    268268         vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nnn) - ssh(ji,jj,Nnn) ) * r1_e2v(ji,jj) 
     
    271271      ! add wind stress forcing and layer linear friction to the RHS  
    272272      z1_2rho0 = 0.5_wp * r1_rho0 
    273       DO_3D_00_00(1,jpkm1) 
     273      DO_3D( 0, 0, 0, 0,1,jpkm1) 
    274274         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + z1_2rho0 * ( utau_b(ji,jj) + utau(ji,jj) ) / e3u(ji,jj,jk,Nnn)   & 
    275275            &                                  - rn_rfr * uu(ji,jj,jk,Nbb) 
     
    280280                            CALL dom_qco_r3c   ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) )   ! "after" ssh./h._0 ratio explicit       
    281281      IF( ln_dynadv_vec ) THEN      ! vector invariant form : applied on velocity 
    282          DO_3D_11_11(1,jpkm1) 
     282         DO_3D( 1, 1, 1, 1,1,jpkm1) 
    283283            zua = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 
    284284            zva = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 
     
    292292         ! 
    293293      ELSE                          ! flux form : applied on thickness weighted velocity 
    294          DO_3D_11_11(1,jpkm1) 
     294         DO_3D( 1, 1, 1, 1,1,jpkm1) 
    295295            zue3n = e3u(ji,jj,jk,Nnn) * uu(ji,jj,jk,Nnn) 
    296296            zve3n = e3v(ji,jj,jk,Nnn) * vv(ji,jj,jk,Nnn) 
Note: See TracChangeset for help on using the changeset viewer.