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 2104 for branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/DYN/dynzdf.F90 – NEMO

Ignore:
Timestamp:
2010-09-17T14:35:46+02:00 (14 years ago)
Author:
cetlod
Message:

update DEV_r2006_merge_TRA_TRC according to review

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/DYN/dynzdf.F90

    r2027 r2104  
    44   !! Ocean dynamics :  vertical component of the momentum mixing trend 
    55   !!============================================================================== 
    6    !! History :  9.0  !  05-11  (G. Madec)  Original code 
     6   !! History :  1.0  !  2005-11  (G. Madec)  Original code 
     7   !!            3.3  !  2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase 
    78   !!---------------------------------------------------------------------- 
    89 
    910   !!---------------------------------------------------------------------- 
    1011   !!   dyn_zdf      : Update the momentum trend with the vertical diffusion 
    11    !!       zdf_ctl : initializations of the vertical diffusion scheme 
     12   !!   dyn_zdf_init : initializations of the vertical diffusion scheme 
    1213   !!---------------------------------------------------------------------- 
    1314   USE oce             ! ocean dynamics and tracers variables 
     
    3031   PUBLIC   dyn_zdf_init  !  routine called by opa.F90 
    3132 
    32    INTEGER  ::   nzdf = 0              ! type vertical diffusion algorithm used  
    33       !                                ! defined from ln_zdf...  namlist logicals) 
    34  
    35    REAL(wp) ::   r2dt                  ! time-step, = 2 rdttra 
    36       !                                ! except at nit000 (=rdttra) if neuler=0 
     33   INTEGER  ::   nzdf = 0   ! type vertical diffusion algorithm used, defined from ln_zdf... namlist logicals 
     34   REAL(wp) ::   r2dt       ! time-step, = 2 rdttra except at nit000 (=rdttra) if neuler=0 
    3735 
    3836   !! * Substitutions 
     
    4139#  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    43    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     41   !! NEMO/OPA 3,3 , LOCEAN-IPSL (2010)  
    4442   !! $Id$ 
    4543   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     
    6058 
    6159      !                                          ! set time step 
    62       IF( neuler == 0 .AND. kt == nit000    ) THEN   ;   r2dt =      rdt      ! = rdtra (restarting with Euler time stepping) 
    63       ELSEIF(               kt <= nit000 + 1) THEN   ;   r2dt = 2. * rdt      ! = 2 rdttra (leapfrog) 
     60      IF( neuler == 0 .AND. kt == nit000     ) THEN   ;   r2dt =      rdt   ! = rdtra (restart with Euler time stepping) 
     61      ELSEIF(               kt <= nit000 + 1 ) THEN   ;   r2dt = 2. * rdt   ! = 2 rdttra (leapfrog) 
    6462      ENDIF 
    6563 
     
    7169      SELECT CASE ( nzdf )                       ! compute lateral mixing trend and add it to the general trend 
    7270      ! 
    73       CASE ( 0 )   ;   CALL dyn_zdf_exp    ( kt, r2dt )      ! explicit scheme 
    74       CASE ( 1 )   ;   CALL dyn_zdf_imp    ( kt, r2dt )      ! implicit scheme 
     71      CASE ( 0 )   ;   CALL dyn_zdf_exp( kt, r2dt )      ! explicit scheme 
     72      CASE ( 1 )   ;   CALL dyn_zdf_imp( kt, r2dt )      ! implicit scheme 
    7573      ! 
    7674      CASE ( -1 )                                      ! esopa: test all possibility with control print 
    77                        CALL dyn_zdf_exp    ( kt, r2dt ) 
     75                       CALL dyn_zdf_exp( kt, r2dt ) 
    7876                       CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf0 - Ua: ', mask1=umask,               & 
    7977            &                        tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    80                        CALL dyn_zdf_imp    ( kt, r2dt ) 
     78                       CALL dyn_zdf_imp( kt, r2dt ) 
    8179                       CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf1 - Ua: ', mask1=umask,               & 
    8280            &                        tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     
    108106      USE zdfkpp 
    109107      !!---------------------------------------------------------------------- 
    110  
     108      ! 
    111109      ! Choice from ln_zdfexp read in namelist in zdfini 
    112110      IF( ln_zdfexp ) THEN   ;   nzdf = 0           ! use explicit scheme 
    113111      ELSE                   ;   nzdf = 1           ! use implicit scheme 
    114112      ENDIF 
    115  
     113      ! 
    116114      ! Force implicit schemes 
    117115      IF( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdfkpp )   nzdf = 1   ! TKE or KPP physics 
    118116      IF( ln_dynldf_iso                               )   nzdf = 1   ! iso-neutral lateral physics 
    119117      IF( ln_dynldf_hor .AND. ln_sco                  )   nzdf = 1   ! horizontal lateral physics in s-coordinate 
    120  
     118      ! 
    121119      IF( lk_esopa )    nzdf = -1                   ! Esopa key: All schemes used 
    122  
     120      ! 
    123121      IF(lwp) THEN                                  ! Print the choice 
    124122         WRITE(numout,*) 
Note: See TracChangeset for help on using the changeset viewer.