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 8568 for branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF – NEMO

Ignore:
Timestamp:
2017-09-27T16:29:24+02:00 (7 years ago)
Author:
gm
Message:

#1911 (ENHANCE-09): PART I.2 - _NONE option + remove zts + see associated wiki page

Location:
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfddm.F90

    r8367 r8568  
    8383      !!---------------------------------------------------------------------- 
    8484      ! 
    85       IF( nn_timing == 1 )   CALL timing_start('zdf_ddm') 
     85      IF( ln_timing )   CALL timing_start('zdf_ddm') 
    8686      ! 
    8787      !                                                ! =============== 
     
    170170      ENDIF 
    171171      ! 
    172       IF( nn_timing == 1 )  CALL timing_stop('zdf_ddm') 
     172      IF( ln_timing )   CALL timing_stop('zdf_ddm') 
    173173      ! 
    174174   END SUBROUTINE zdf_ddm 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfdrg.F90

    r8367 r8568  
    2020   !!---------------------------------------------------------------------- 
    2121   USE oce            ! ocean dynamics and tracers variables 
    22    USE phycst   , ONLY: vkarmn 
     22   USE phycst  , ONLY : vkarmn 
    2323   USE dom_oce        ! ocean space and time domain variables 
    2424   USE zdf_oce        ! ocean vertical physics variables 
     
    109109      !!---------------------------------------------------------------------- 
    110110      ! 
    111       IF( nn_timing == 1 )  CALL timing_start('zdf_drg') 
     111      IF( ln_timing )   CALL timing_start('zdf_drg') 
    112112      ! 
    113113      ! 
     
    140140      IF(ln_ctl)   CALL prt_ctl( tab2d_1=pCdU, clinfo1=' Cd*U ') 
    141141      ! 
    142       IF( nn_timing == 1 )  CALL timing_stop('zdf_drg') 
     142      IF( ln_timing )   CALL timing_stop('zdf_drg') 
    143143      ! 
    144144   END SUBROUTINE zdf_drg 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfevd.F90

    r8367 r8568  
    6262      !!---------------------------------------------------------------------- 
    6363      ! 
    64       IF( nn_timing == 1 )  CALL timing_start('zdf_evd') 
     64      IF( ln_timing )   CALL timing_start('zdf_evd') 
    6565      ! 
    6666      IF( kt == nit000 ) THEN 
     
    121121      IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd ) 
    122122      ! 
    123       IF( nn_timing == 1 )  CALL timing_stop('zdf_evd') 
     123      IF( ln_timing )   CALL timing_stop('zdf_evd') 
    124124      ! 
    125125   END SUBROUTINE zdf_evd 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfgls.F90

    r8367 r8568  
    159159      !!-------------------------------------------------------------------- 
    160160      ! 
    161       IF( nn_timing == 1 )   CALL timing_start('zdf_gls') 
     161      IF( ln_timing )   CALL timing_start('zdf_gls') 
    162162      ! 
    163163      ! Preliminary computing 
     
    822822      ENDIF 
    823823      ! 
    824       IF( nn_timing == 1 )   CALL timing_stop('zdf_gls') 
     824      IF( ln_timing )   CALL timing_stop('zdf_gls') 
    825825      ! 
    826826   END SUBROUTINE zdf_gls 
     
    852852      !!---------------------------------------------------------- 
    853853      ! 
    854       IF( nn_timing == 1 )  CALL timing_start('zdf_gls_init') 
     854      IF( ln_timing )   CALL timing_start('zdf_gls_init') 
    855855      ! 
    856856      REWIND( numnam_ref )              ! Namelist namzdf_gls in reference namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 
     
    10771077         rl_sf = vkarmn 
    10781078      ELSE 
    1079          rl_sf = rc0 * SQRT(rc0/rcm_sf) * SQRT( ( (1._wp + 4._wp*rmm + 8._wp*rmm**2_wp)*rsc_tke          & 
    1080                  &                                       + 12._wp * rsc_psi0*rpsi2 - (1._wp + 4._wp*rmm) & 
    1081                  &                                                *SQRT(rsc_tke*(rsc_tke                 & 
    1082                  &                                                   + 24._wp*rsc_psi0*rpsi2)) )         & 
    1083                  &                                         /(12._wp*rnn**2.)                             & 
    1084                  &                                       ) 
     1079         rl_sf = rc0 * SQRT(rc0/rcm_sf) * SQRT( ( (1._wp + 4._wp*rmm + 8._wp*rmm**2_wp) * rsc_tke        & 
     1080            &                                            + 12._wp*rsc_psi0*rpsi2 - (1._wp + 4._wp*rmm)   & 
     1081            &                                                     *SQRT(rsc_tke*(rsc_tke                 & 
     1082            &                                                        + 24._wp*rsc_psi0*rpsi2)) )         & 
     1083            &                                              /(12._wp*rnn**2.)                             ) 
    10851084      ENDIF 
    10861085 
     
    11301129      CALL gls_rst( nit000, 'READ' )      ! (en, avt_k, avm_k, hmxl_n) 
    11311130      ! 
    1132       IF( nn_timing == 1 )  CALL timing_stop('zdf_gls_init') 
     1131      IF( ln_timing )   CALL timing_stop('zdf_gls_init') 
    11331132      ! 
    11341133   END SUBROUTINE zdf_gls_init 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfiwm.F90

    r8367 r8568  
    141141      !!---------------------------------------------------------------------- 
    142142      ! 
    143       IF( nn_timing == 1 )   CALL timing_start('zdf_iwm') 
     143      IF( ln_timing )   CALL timing_start('zdf_iwm') 
    144144      ! 
    145145      !                      ! ----------------------------- ! 
     
    366366      IF(ln_ctl)   CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', ovlap=1, kdim=jpk) 
    367367      ! 
    368       IF( nn_timing == 1 )   CALL timing_stop('zdf_iwm') 
     368      IF( ln_timing )   CALL timing_stop('zdf_iwm') 
    369369      ! 
    370370   END SUBROUTINE zdf_iwm 
     
    405405      !!---------------------------------------------------------------------- 
    406406      ! 
    407       IF( nn_timing == 1 )  CALL timing_start('zdf_iwm_init') 
     407      IF( ln_timing )   CALL timing_start('zdf_iwm_init') 
    408408      ! 
    409409      REWIND( numnam_ref )              ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 
     
    483483      ENDIF 
    484484      ! 
    485       IF( nn_timing == 1 )  CALL timing_stop('zdf_iwm_init') 
     485      IF( ln_timing )   CALL timing_stop('zdf_iwm_init') 
    486486      ! 
    487487   END SUBROUTINE zdf_iwm_init 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfmxl.F90

    r8367 r8568  
    8282      !!---------------------------------------------------------------------- 
    8383      ! 
    84       IF( nn_timing == 1 )  CALL timing_start('zdf_mxl') 
     84      IF( ln_timing )   CALL timing_start('zdf_mxl') 
    8585      ! 
    8686      IF( kt == nit000 ) THEN 
     
    141141      IF(ln_ctl)   CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 ) 
    142142      ! 
    143       IF( nn_timing == 1 )  CALL timing_stop('zdf_mxl') 
     143      IF( ln_timing )   CALL timing_stop('zdf_mxl') 
    144144      ! 
    145145   END SUBROUTINE zdf_mxl 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfphy.F90

    r8367 r8568  
    3232   USE lbclnk         ! lateral boundary conditions 
    3333   USE lib_mpp        ! distribued memory computing 
     34   USE timing         ! Timing 
    3435 
    3536   IMPLICIT NONE 
     
    7576         &             rn_avm0, rn_avt0, nn_avb, nn_havtb                  ! coefficients 
    7677      !!---------------------------------------------------------------------- 
     78      ! 
     79      IF( ln_timing )   CALL timing_start('zdf_phy_init') 
    7780      ! 
    7881      !                           !==  Namelist  ==! 
     
    193196      !!gm move it here ? 
    194197      ! 
     198      IF( ln_timing )   CALL timing_stop('zdf_phy_init') 
     199      ! 
    195200   END SUBROUTINE zdf_phy_init 
    196201 
     
    213218      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zsh2   ! shear production 
    214219      !! --------------------------------------------------------------------- 
     220      ! 
     221      IF( ln_timing )   CALL timing_start('zdf_phy') 
    215222      ! 
    216223      IF( l_zdfdrg ) THEN     !==  update top/bottom drag  ==!   (non-linear cases) 
     
    289296      ENDIF 
    290297      ! 
     298      IF( ln_timing )   CALL timing_stop('zdf_phy') 
     299      ! 
    291300   END SUBROUTINE zdf_phy 
    292301 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfric.F90

    r8367 r8568  
    158158      !!---------------------------------------------------------------------- 
    159159      ! 
    160       IF( nn_timing == 1 )   CALL timing_start('zdf_ric') 
     160      IF( ln_timing )   CALL timing_start('zdf_ric') 
    161161      ! 
    162162      !                       !==  avm and avt = F(Richardson number)  ==! 
     
    197197      ENDIF 
    198198      ! 
    199       IF( nn_timing == 1 )   CALL timing_stop('zdf_ric') 
     199      IF( ln_timing )   CALL timing_stop('zdf_ric') 
    200200      ! 
    201201   END SUBROUTINE zdf_ric 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfsh2.F90

    r8367 r8568  
    5656      !!-------------------------------------------------------------------- 
    5757      ! 
    58       IF( nn_timing == 1 )  CALL timing_start('zdf_sh2') 
     58      IF( ln_timing )   CALL timing_start('zdf_sh2') 
    5959      ! 
    6060      DO jk = 2, jpkm1 
     
    7777      END DO  
    7878      ! 
    79       IF( nn_timing == 1 )  CALL timing_stop('zdf_sh2')      
     79      IF( ln_timing )   CALL timing_stop('zdf_sh2')      
    8080      ! 
    8181   END SUBROUTINE zdf_sh2 
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdftke.F90

    r8367 r8568  
    159159      !!              Bruchard OM 2002 
    160160      !!---------------------------------------------------------------------- 
    161       INTEGER                    , INTENT(in   ) ::   kt             ! ocean time step 
     161      INTEGER                   , INTENT(in   ) ::   kt             ! ocean time step 
    162162      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   p_sh2          ! shear production term 
    163       REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avm, p_avt   !  momentum and tracer Kz (w-points) 
     163      REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   p_avm, p_avt   !  momentum and tracer Kz (w-points) 
    164164      !!---------------------------------------------------------------------- 
    165165      ! 
     
    194194      !!                a tridiagonal linear system by a "methode de chasse" 
    195195      !!              - increase TKE due to surface and internal wave breaking 
     196      !!             NB: when sea-ice is present, both LC parameterization  
     197      !!                 and TKE penetration are turned off when the ice fraction  
     198      !!                 is smaller than 0.25  
    196199      !! 
    197200      !! ** Action  : - en : now turbulent kinetic energy) 
     
    217220      !!-------------------------------------------------------------------- 
    218221      ! 
    219       IF( nn_timing == 1 )  CALL timing_start('tke_tke') 
     222      IF( ln_timing )   CALL timing_start('tke_tke') 
    220223      ! 
    221224      zbbrau = rn_ebb / rau0       ! Local constant initialisation 
     
    312315                  zwlc = zind * rn_lc * zus * SIN( rpi * pdepw(ji,jj,jk) / zhlc(ji,jj) ) 
    313316                  !                                           ! TKE Langmuir circulation source term 
    314                   en(ji,jj,jk) = en(ji,jj,jk) + rdt * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * ( zwlc * zwlc * zwlc )   & 
     317                  en(ji,jj,jk) = en(ji,jj,jk) + rdt * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * ( zwlc * zwlc * zwlc )   & 
    315318                     &                              / zhlc(ji,jj) * wmask(ji,jj,jk) * tmask(ji,jj,1) 
    316319               END DO 
     
    415418               DO ji = fs_2, fs_jpim1   ! vector opt. 
    416419                  en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) )   & 
    417                      &                                 * MAX(0.,1._wp - 2.*fr_i(ji,jj) )  * wmask(ji,jj,jk) * tmask(ji,jj,1) 
     420                     &                                 * MAX(0.,1._wp - 4.*fr_i(ji,jj) )  * wmask(ji,jj,jk) * tmask(ji,jj,1) 
    418421               END DO 
    419422            END DO 
     
    424427               jk = nmln(ji,jj) 
    425428               en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) )   & 
    426                   &                                 * MAX(0.,1._wp - 2.*fr_i(ji,jj) )  * wmask(ji,jj,jk) * tmask(ji,jj,1) 
     429                  &                                 * MAX(0.,1._wp - 4.*fr_i(ji,jj) )  * wmask(ji,jj,jk) * tmask(ji,jj,1) 
    427430            END DO 
    428431         END DO 
     
    437440                  zdif = rhftau_scl * MAX( 0._wp, zdif + rhftau_add )  ! apply some modifications... 
    438441                  en(ji,jj,jk) = en(ji,jj,jk) + zbbrau * zdif * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) )   & 
    439                      &                        * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 
    440                END DO 
    441             END DO 
    442          END DO 
    443       ENDIF 
    444       ! 
    445       IF( nn_timing == 1 )  CALL timing_stop('tke_tke') 
     442                     &                        * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 
     443               END DO 
     444            END DO 
     445         END DO 
     446      ENDIF 
     447      ! 
     448      IF( ln_timing )   CALL timing_stop('tke_tke') 
    446449      ! 
    447450   END SUBROUTINE tke_tke 
     
    493496      !!-------------------------------------------------------------------- 
    494497      ! 
    495       IF( nn_timing == 1 )  CALL timing_start('tke_avn') 
     498      IF( ln_timing )   CALL timing_start('tke_avn') 
    496499 
    497500      !                     !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
     
    636639      ENDIF 
    637640      ! 
    638       IF( nn_timing == 1 )  CALL timing_stop('tke_avn') 
     641      IF( ln_timing )   CALL timing_stop('tke_avn') 
    639642      ! 
    640643   END SUBROUTINE tke_avn 
Note: See TracChangeset for help on using the changeset viewer.