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 5956 for branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90 – NEMO

Ignore:
Timestamp:
2015-11-30T20:55:41+01:00 (8 years ago)
Author:
mathiot
Message:

ISF : merged trunk (5936) into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90

    r4990 r5956  
    99 
    1010   !!---------------------------------------------------------------------- 
    11    !!   dyn_zdf      : Update the momentum trend with the vertical diffusion 
    12    !!   dyn_zdf_init : initializations of the vertical diffusion scheme 
     11   !!   dyn_zdf       : Update the momentum trend with the vertical diffusion 
     12   !!   dyn_zdf_init  : initializations of the vertical diffusion scheme 
    1313   !!---------------------------------------------------------------------- 
    14    USE oce             ! ocean dynamics and tracers variables 
    15    USE dom_oce         ! ocean space and time domain variables  
    16    USE zdf_oce         ! ocean vertical physics variables 
    17  
    18    USE dynzdf_exp      ! vertical diffusion: explicit (dyn_zdf_exp     routine) 
    19    USE dynzdf_imp      ! vertical diffusion: implicit (dyn_zdf_imp     routine) 
    20  
    21    USE ldfdyn_oce      ! ocean dynamics: lateral physics 
    22    USE trd_oce         ! trends: ocean variables 
    23    USE trddyn          ! trend manager: dynamics 
    24    USE in_out_manager  ! I/O manager 
    25    USE lib_mpp         ! MPP library 
    26    USE prtctl          ! Print control 
    27    USE wrk_nemo        ! Memory Allocation 
    28    USE timing          ! Timing 
     14   USE oce            ! ocean dynamics and tracers variables 
     15   USE dom_oce        ! ocean space and time domain variables  
     16   USE zdf_oce        ! ocean vertical physics variables 
     17   USE dynzdf_exp     ! vertical diffusion: explicit (dyn_zdf_exp     routine) 
     18   USE dynzdf_imp     ! vertical diffusion: implicit (dyn_zdf_imp     routine) 
     19   USE ldfdyn         ! lateral diffusion: eddy viscosity coef. 
     20   USE trd_oce        ! trends: ocean variables 
     21   USE trddyn         ! trend manager: dynamics 
     22   ! 
     23   USE in_out_manager ! I/O manager 
     24   USE lib_mpp        ! MPP library 
     25   USE prtctl         ! Print control 
     26   USE wrk_nemo       ! Memory Allocation 
     27   USE timing         ! Timing 
    2928 
    3029   IMPLICIT NONE 
     
    6160      !!--------------------------------------------------------------------- 
    6261      ! 
    63       IF( nn_timing == 1 )  CALL timing_start('dyn_zdf') 
     62      IF( nn_timing == 1 )   CALL timing_start('dyn_zdf') 
    6463      ! 
    6564      !                                          ! set time step 
     
    7978      CASE ( 1 )   ;   CALL dyn_zdf_imp( kt, r2dt )      ! implicit scheme 
    8079      ! 
    81       CASE ( -1 )                                        ! esopa: test all possibility with control print 
    82                        CALL dyn_zdf_exp( kt, r2dt ) 
    83                        CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf0 - Ua: ', mask1=umask,               & 
    84                           &          tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    85                        CALL dyn_zdf_imp( kt, r2dt ) 
    86                        CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf1 - Ua: ', mask1=umask,               & 
    87                           &          tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    8880      END SELECT 
    8981 
     
    9688      !                                          ! print mean trends (used for debugging) 
    9789      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask,               & 
    98             &                    tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    99       ! 
    100       IF( nn_timing == 1 )  CALL timing_stop('dyn_zdf') 
     90         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     91         ! 
     92      IF( nn_timing == 1 )   CALL timing_stop('dyn_zdf') 
    10193      ! 
    10294   END SUBROUTINE dyn_zdf 
     
    114106      USE zdftke 
    115107      USE zdfgls 
    116       USE zdfkpp 
    117108      !!---------------------------------------------------------------------- 
    118109      ! 
     
    123114      ! 
    124115      ! Force implicit schemes 
    125       IF( lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp )   nzdf = 1   ! TKE, GLS or KPP physics 
    126       IF( ln_dynldf_iso                           )   nzdf = 1   ! iso-neutral lateral physics 
    127       IF( ln_dynldf_hor .AND. ln_sco              )   nzdf = 1   ! horizontal lateral physics in s-coordinate 
    128       ! 
    129       IF( lk_esopa )    nzdf = -1                   ! Esopa key: All schemes used 
     116      IF( lk_zdftke .OR. lk_zdfgls   )   nzdf = 1   ! TKE or GLS physics 
     117      IF( ln_dynldf_iso              )   nzdf = 1   ! iso-neutral lateral physics 
     118      IF( ln_dynldf_hor .AND. ln_sco )   nzdf = 1   ! horizontal lateral physics in s-coordinate 
    130119      ! 
    131120      IF(lwp) THEN                                  ! Print the choice 
     
    133122         WRITE(numout,*) 'dyn_zdf_init : vertical dynamics physics scheme' 
    134123         WRITE(numout,*) '~~~~~~~~~~~' 
    135          IF( nzdf == -1 )   WRITE(numout,*) '              ESOPA test All scheme used' 
    136124         IF( nzdf ==  0 )   WRITE(numout,*) '              Explicit time-splitting scheme' 
    137125         IF( nzdf ==  1 )   WRITE(numout,*) '              Implicit (euler backward) scheme' 
Note: See TracChangeset for help on using the changeset viewer.